= OWL = == Ontology Web Language == * [http://en.wikipedia.org/wiki/Web_Ontology_Language] * [http://www.w3.org/TR/owl2-new-features/ OWL 2] * [http://www.w3.org/TR/owl-guide/ guide] * [http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/ Protege OWL tutorial] = OWL use cases = == Modeling == Ontologies are created to fix terms in their meaning. So that confusion about their definition is avoided. Many ontologies are written in the OBO format an easily human readable text format. For example GO is defined in OBO. OWL is a more formal definition of an Ontology. This gives it a lot of powerful features that one can use. While also incurring a steep learning curve. == Reasoning == OWL allows reasoning over statement using description logic. That means that one does not need to encode all implied information in your system to be able to get conclusive data. e.g. jenny a :woman . [[BR]] jenny :hasMother mum . [[BR]] mum a :mother . [[BR]] In a classical system without reasoning when asking the question select ?s where {?p rdf:Type :woman}; will only answer jenny. After adding the following OWL axiom. :mother owl:subClassOf :woman .[[BR]] The answer would become jenny and mum. As the axiom leads to the inference that mum is a :Woman. So the new triple [[BR]] mum a :woman .[[BR]] == Constraint Validation == Lets add a simple constraint too the Ontology. Being rather conservative.[[BR]] :man owl:disjointWith :woman . [[BR]] That means if we had made a mistake filling our triple store and we had added a. [[BR]] mum a :man . [[BR]] our OWL logic would raise a contradiction. A product meant for this is [http://clarkparsia.com/pellet/icv]