Web Ontology Language
The Web Ontology Language ( OWL for short - for the acronym OWL instead of WOL see below) is a specification of the World Wide Web Consortium (W3C) to create, publish and distribute ontologies using a formal description language. The point is to formally describe terms of a domain and their relationships in such a way that software (e.g. agents ) can process (“understand”) the meaning. OWL is therefore an essential part of Tim Berners-Lee's Semantic Web initiative . OWL is technically based on the RDF - Syntax and historically on DAML + OIL and goes while on the expressive power of RDF Schema far beyond. In addition to RDF and the RDF schema, further language constructs are introduced that allow expressions to be formulated similar to the predicate logic .
abbreviation
The acronym for Web Ontology Language should actually have been WOL , not OWL . The W3C archives provide an answer about the origin of the twisting letter. The name OWL was apparently suggested by Tim Finin on a mailing list. The reasons he originally mentioned are as follows:
- It is clear how to pronounce OWL (which is how the English word for owl ).
- The acronym is great for creating logos.
- Owls are associated with wisdom.
- There's an interesting backstory.
The aforementioned background story relates to a project by William A. Martin at MIT from the 1970s called One World Language , an early attempt at developing a universal language for the representation of knowledge. The twisting of letters, on the other hand, is not an allusion to the literary figure of the owl from Milnes Pooh the Pooh , who is the only animal in the forest to be able to write her name - but with a twisted letter, in the English original WOL instead of OWL .
Language levels: Lite, DL and Full
There are three different versions of OWL. The language levels OWL Lite , OWL DL and OWL Full were defined for this purpose. Restrictions have been defined for the use of OWL Lite / DL, which should facilitate the development of tools or enable complete inference .
OWL Lite
The "light version" was created with the aim of creating an easy-to-implement subset of the language. Its main purpose is to create simple taxonomies and slightly axiomatized ontologies. Various language constructs from OWL DL are not available.
OWL DL
This is the level whose semantics come closest to DAML + OIL . DL is the description logic ( description logic ) , which leads to a decidable subset of first order predicate logic is equivalent. In order to ensure that it can be mapped to this logic, various restrictions have been introduced for the use of RDFS constructs, for example a class may not be an instance of another class.
OWL Full
OWL Full consists of the same language constructs as OWL DL, but dispenses with the restrictions that exist there. As a result, the ontologies are undecidable, but can enable predicate logic expressions of a higher degree.
Language constructs
The specification extends the meaning of RDF and RDF schema by further constructs in order to increase the expressive power (or in part also to restrict it in order to achieve decidability ).
The drawing of logical conclusions in OWL is generally based on the concept of the so-called Open World Assumption - OWA for short. The Open World Assumption means that a reasoner does not assume that something does not exist unless it has been explicitly defined that it does not exist. In general terms, as long as something has not been stated to be applicable, a reasoner will not assume that it is incorrect. It is only assumed that the knowledge has not yet been added to the knowledge base.
OWL different classes, properties ( properties ) and instances . Classes stand for terms (also concepts ). They can have properties. Instances are individuals of one or more classes.
Concerning classes
- <owl: class>
- <owl: oneOf>
- <owl: unionOf >
- <owl: intersectionOf >
- ...
Regarding properties
- <owl: Restriction>
- <owl: allValuesFrom >
- <owl: someValuesFrom >
- ...
Regarding instances
- <owl: sameAs>
example
The example describes the terms <person>, <Gender> and <Woman>. A woman is defined as a <Person> with the value <female> in the property <gender>, which must belong to the class <Gender>. The instance <Stilgner> is thus described as <Person> a woman (<Woman>). This affiliation can be determined by means of inference .
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns="http://localhost:8080/OWLBuergerInformation.owl#"
xml:base="http://localhost:8080/OWLBuergerInformation.owl">
<owl:Ontology rdf:about=""/>
<owl:Class rdf:ID="Gender"/>
<owl:Class rdf:ID="Person"/>
<owl:Class rdf:ID="Woman">
<rdfs:subClassOf rdf:resource="#Person"/>
<owl:equivalentClass>
<owl:Restriction>
<owl:onProperty rdf:resource="#gender"/>
<owl:hasValue rdf:resource="#female" rdf:type="#Gender"/>
</owl:Restriction>
</owl:equivalentClass>
</owl:Class>
<owl:ObjectProperty rdf:ID="gender"
rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
<rdfs:range rdf:resource="#Gender"/>
<rdfs:domain rdf:resource="#Person"/>
</owl:ObjectProperty>
<owl:DatatypeProperty rdf:ID="name"
rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="#Person"/>
</owl:DatatypeProperty>
<owl:DatatypeProperty rdf:ID="firstname"
rdf:type="http://www.w3.org/2002/07/owl#FunctionalProperty">
<rdfs:range rdf:resource="http://www.w3.org/2001/XMLSchema#string"/>
<rdfs:domain rdf:resource="#Person"/>
</owl:DatatypeProperty>
<Person rdf:ID="STilgner" firstname="Susanne" name="Tilgner">
<Gender rdf:resource="#female"/>
</Person>
</rdf:RDF>
Tools
General tools
- Eclipse plugin with editor, validator, ... SWeDE Eclipse plugin
- Protégé , ontology editor with OWL plug-in from Stanford University
- SWOOP formerly developed by mindswap, now on GitHub
Frameworks
- Apache Jena Framework: Apache Jena
- Java API: OWL API
Validation
- OWL ontology validator http://visualdataweb.de/validator/
Inference
- RACER OWL reasoner
- FaCT
- FaCT ++ OpenSource OWL Reasoner
- Pellet OpenSource OWL Reasoner
- KAON2 OWL reasoner with strengths for large numbers of instances
Others
- KAON2 OWL Tools
- DERI Ontology Management Environment ( DOME )
- UML2OWL Tool - Modeling of OWL DL ontologies with UML / transformation of UML class diagrams into valid OWL DL documents
- yEd Graph Editor - diagram editor with which OWL ontologies can be clearly visualized
See also
literature
- Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure: Semantic Web. Basics . Springer, 2008, ISBN 978-3-540-33993-9
Web links
- OWL 2 Document Overview - W3C Recommendation of 11 December 2011 (English)
- OWL Semantics and Syntax Definitions - W3C Recommendation of February 10, 2004 (English)