Knowledge Representation in AI
Dedicated to dealing with the ways information is stored and processed in biological brains and techniques to represent it in artificial systems. State of the art in recent years is concerned with ontologies which form the backbone of the Semantinc Web.
The Semantic Web aims to create a new layer of data on the internet which is accessible by machines through explicit statements (triples, which we'll see later on) that indicate truths about a certain subject. They aim to create information systems that are knowledgeable on many different subjects in a way reminiscent of expert systems in the old days of AI. These new generation semantic systems aim to, along with new neural models and natural language processing, being able to understand, process and categorize knowledge in a flexible way that allows many companies to seamlessly join their data and derive new knowledge from old facts. |
Protegé ontology creator
Protegé is an application created by Stanford to build ontologies using a graphical user interface. It makes use of the OWL language for knowledge representation.
Executing Protegé - My First Ontology
You may require to update the application at the start. Protegé will automatically notify of the latest updates available.
After its finished it'll display the application interface as shown where its possible to work with the ontologies. Currently Protegé displays an untitled ontology which is a default in our workspace and allows to start introducing data to create an ontology if that's what we want.
In order to test Protegé's functions we'll start by loading an example ontology and testing the first functions available. First download the pizza ontology which can be found at http://protege.stanford.edu/ontologies/pizza/pizza.owl . Save the file in a working directory where you want to use the ontology with an easily to recognize file name. In this case we kept the name pizza.owl.
You can explore the classes and instances of each one in the Entities tab next to the Active ontology tab.
Reasoning with your ontology
In order to reason with the ontology Protegé provides a reasoner known as HermiT. If we want to classify for example we can select the HermiT reasoner from Reasoner->HermiT and afterwards select Reasoner->Start reasoner or CTRL+R.
OWLReady ontology library
Installation and testing
Ontologies are loaded using the Python interpreter by typing:
$ python3 in terminal which will start the interpreter in command line mode. To load the ontology first we must set a directory to store the ontology in. $ onto_path.append("/path/to/your/local/ontology/repository") Then we load the ontology, in this case we load an example ontology: $ onto = get_ontology("http://www.lesfleursdunormal.fr/static/_downloads/pizza_onto.owl") And finally load it in the interpreter. $ onto.load() |
References
[1] http://pythonhosted.org/Owlready/onto.html
[2] http://pythonhosted.org/Owlready/mixing_python_owl.html
[3] http://protegewiki.stanford.edu/wiki/Protege4GettingStarted
[4] http://protegewiki.stanford.edu/wiki/Protege4Pizzas10Minutes
[5] http://www.linkeddatatools.com/semantic-web-basics
[6] https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege
[7] https://www.quora.com/What-is-the-essential-reading-list-for-learning-about-the-semantic-web-RDF-SPARQL
[8] http://stackoverflow.com/questions/155601/what-is-the-best-way-to-learn-about-rdf-owl
[9] http://www.obitko.com/tutorials/ontologies-semantic-web/rdf-query-language-sparql.html
[2] http://pythonhosted.org/Owlready/mixing_python_owl.html
[3] http://protegewiki.stanford.edu/wiki/Protege4GettingStarted
[4] http://protegewiki.stanford.edu/wiki/Protege4Pizzas10Minutes
[5] http://www.linkeddatatools.com/semantic-web-basics
[6] https://wiki.csc.calpoly.edu/OntologyTutorial/wiki/IntroductionToOntologiesWithProtege
[7] https://www.quora.com/What-is-the-essential-reading-list-for-learning-about-the-semantic-web-RDF-SPARQL
[8] http://stackoverflow.com/questions/155601/what-is-the-best-way-to-learn-about-rdf-owl
[9] http://www.obitko.com/tutorials/ontologies-semantic-web/rdf-query-language-sparql.html