Wolfram Technology Guide: Load-on-Demand Curated Data  previous | next 
Build Up Semantic Networks
Mathematica lets you compute with word semantics, here building up a two-step synonym graph.
In[1]:=

Click for copyable input
GraphPlot[

 Flatten[Rest[

   NestList[

    Union[Flatten[

       Thread[# -> WordData[#, "Synonyms", "List"]] & /@ 

        Last /@ #]] &, {"" -> "ship"}, 2]]], VertexLabeling -> True, 

 DirectedEdges -> True]
Out[1]=