SemanticNetworks are traditionally viewed as tools of calculation, as in “Who are the grandmothers of Jane?”
Here is a semantic network:
Jane mom Jan Jane dad John Jan mom Elda John mom Freya
The graph of relationships that Jane, Jan, John, Elda, and Freya belong to, is called a “Semantic Network.”
It has nodes (“Jane”, “Jan”, “John”, “Elda”, “Freya,”) and connections between them (“mom,” “dad.”)
You can make up whatever nodes and connections you want, and you can even use connections as nodes. (“mom” “is-a” “familyrelationship” would be an example.)
This example is fairly stereotypical of presentations of semantic networks.
Now, we said these are traditionally viewed as tools of calculation.: “Who is a grandmother of Jane?”
The computer needs some help to figure it out, so we present: rules.
(?x mom ?y) => (?x parent ?y) (?x dad ?y) => (?x parent ?y) (?x parent ?y), (?y mom ?z) => (?x grandmother ?z) (?x parent ?y), (?y dad ?z) => (?x grandfather ?z)
Now, you feed the semantic network and the rules into a “reasoner,” and give it a query.
evaluate: (Jane grandmother ?x)
The reasoner will evaluate out:
(Jane grandmother Elda) (Jane grandmother Freya)
If you read Computer Science stuff, you’ve seen a million papers like this.
This is a fairly pedestrian presentation of semantic networks: