Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
50 lines (35 sloc) 2.66 KB


A semantic network built with AngularJS

Status: further development halted.

The goal of Semnet is to illustrate how semantics can be logical. A bolder (secondary) goal is to attempt to test whether semantics can be distilled down to logical relationships.

##Usage The user interacts with Semnet via the earbox. You choose a conversation mode, either query or statement to communicate with Semnet. Statement mode is used to teach Semnet relationships between nouns while Query mode is used to ask Semnet about the meaning of nouns it got taught. Learning mode accepts statements of the type: 'x is y', while Query mode accepts questions of the type: 'what is x'.

##What Semnet is not Semnet is not a chat bot or a NLP project. The matter of interest is neither communicating with humans or attempting to learn human languages. The area of interest is the semantics of human languages.

##What now? Semnet now shows logical understanding of the nouns it is given. This is proven by its ability to infer logical relationships among nouns. After some beautifying, I will install Semnet on my GitHub site and put the link here.

##What lies ahead I will add a function namefunction(i,e) that deletes the linklist item located in linklist[i][e]. I considered adding other query types such as 'is x y' or 'does x have y' but I don't think these 2-answer questions show the heart of Semnet: logical understanding of semantics. Instead, I think open-ended questions such as 'what is x' allow Semnet to show the user what it means to understand something.



  • Complete all the setters
  • Complete all the getters
  • Complete all the deleters

Support functions

  • Complete Indexget()

Views and Controllers

  • Write HTML/Controllers for the CRUD - Noun
  • Write HTML/Controllers for the CRUD - Relation
  • Write HTML/Controllers for the CRUD - Link
  • Write HTML/Controllers for the Query operations
  • Style it up with Boostrap

Conversation (Earbox)

  • Complete Learning Mode
  • Complete Query Mode
  • Complete queries handler
  • Implement inference engine

Data storage

  • Add the ability to upload to and download (the database - i.e. the nounlist, relationlist and linklist) from APIgee*

###About only allowing one relation token Note: handling multiple relations is not essential to semantic logic. All that is needed is one relation token. So to say 'a tree has the property of being green', we can say 'a tree is Pgreen' and define Pgreen as 'Pgreen is the green property' and further define the green property as 'The green property is a property and is green' whereby the green property is defined as that thing which is green and is a property.