The Web Ontology Language (OWL) is a family of knowledge representation languages for authoring ontologies. Ontologies are a formal way to describe taxonomies and classification networks, essentially defining the structure of knowledge for various domains: the nouns representing classes of objects and the verbs representing relations between the objects.
Ontologies resemble class hierarchies in object-oriented programming but there are several critical differences. Class hierarchies are meant to represent structures used in source code that evolve fairly slowly (perhaps with monthly revisions) whereas ontologies are meant to represent information on the Internet and are expected to be evolving almost constantly. Similarly, ontologies are typically far more flexible as they are meant to represent information on the Internet coming from all sorts of heterogeneous data sources. Class hierarchies on the other hand tend to be fairly static and rely on far less diverse and more structured sources of data such as corporate databases.[1]
The OWL languages are characterized by formal semantics. They are built upon the World Wide Web Consortium's (W3C) standard for objects called the Resource Description Framework (RDF).[2] OWL and RDF have attracted significant academic, medical and commercial interest.
In October 2007,[3] a new W3C working group[4] was started to extend OWL with several new features as proposed in the OWL 1.1 member submission.[5] W3C announced the new version of OWL on 27 October 2009.[6] This new version, called OWL 2, soon found its way into semantic editors such as Protégé and semantic reasoners such as Pellet,[7] RacerPro,[8] FaCT++[9] [10] and HermiT.[11]
The OWL family contains many species, serializations, syntaxes and specifications with similar names. OWL and OWL2 are used to refer to the 2004 and 2009 specifications, respectively. Full species names will be used, including specification version (for example, OWL2 EL). When referring more generally, OWL Family will be used.[12] [13] [14]
There is a long history of ontological development in philosophy and computer science. Since the 1990s, a number of research efforts have explored how the idea of knowledge representation (KR) from artificial intelligence (AI) could be made useful on the World Wide Web. These included languages based on HTML (called SHOE), based on XML (called XOL, later OIL), and various frame-based KR languages and knowledge acquisition approaches.
In 2000 in the United States, DARPA started development of DAML led by James Hendler.[15] In March 2001, the Joint EU/US Committee on Agent Markup Languages decided that DAML should be merged with OIL.The EU/US ad hoc Joint Working Group on Agent Markup Languages was convened to develop DAML+OIL as a web ontology language. This group was jointly funded by the DARPA (under the DAML program) and the European Union's Information Society Technologies (IST) funding project. DAML+OIL was intended to be a thin layer above RDFS,with formal semantics based on a description logic (DL).[16]
DAML+OIL is a particularly major influence on OWL; OWL's design was specifically based on DAML+OIL.[17]
In the late 1990s, the World Wide Web Consortium (W3C) Metadata Activity started work on RDF Schema (RDFS), a language for RDF vocabulary sharing. The RDF became a W3C Recommendation in February 1999, and RDFS a Candidate Recommendation in March 2000. In February 2001, the Semantic Web Activity replaced the Metadata Activity. In 2004 (as part of a wider revision of RDF) RDFS became a W3C Recommendation.[18] Though RDFS provides some support for ontology specification, the need for a more expressive ontology language had become clear.[19]
The World Wide Web Consortium (W3C) created the Web-Ontology Working Group as part of their Semantic Web Activity. It began work on November 1, 2001 with co-chairs James Hendler and Guus Schreiber.[20] The first working drafts of the abstract syntax, reference and synopsis were published in July 2002. OWL became a formal W3C recommendation on February 10, 2004 and the working group was disbanded on May 31, 2004.
In 2005, at the OWL Experiences And Directions Workshop a consensus formed that recent advances in description logic would allow a more expressive revision to satisfy user requirements more comprehensively whilst retaining good computational properties.In December 2006, the OWL1.1 Member Submission[21] was made to the W3C. The W3C chartered the OWL Working Group as part of the Semantic Web Activity in September 2007. In April 2008, this group decided to call this new language OWL2, indicating a substantial revision.[22]
OWL 2 became a W3C recommendation in October 2009. OWL 2 introduces profiles to improve scalability in typical applications.
OWL was chosen as an easily pronounced acronym that would yield good logos, suggest wisdom, and honor William A. Martin's One World Language knowledge representation project from the 1970s.[23] [24] [25]
A 2006 survey of ontologies available on the web collected 688 OWL ontologies. Of these, 199 were OWL Lite, 149 were OWL DL and 337 OWL Full (by syntax). They found that 19 ontologies had in excess of 2,000 classes, and that 6 had more than 10,000. The same survey collected 587 RDFS vocabularies.[26]
See main article: Ontology (information science).
The data described by an ontology in the OWL family is interpreted as a set of "individuals" and a set of "property assertions" which relate these individuals to each other. An ontology consists of a set of axioms which place constraints on sets of individuals (called "classes") and the types of relationships permitted between them. These axioms provide semantics by allowing systems to infer additional information based on the data explicitly provided. A full introduction to the expressive power of the OWL is provided in the W3C's OWL Guide.[27]
OWL ontologies can import other ontologies, adding information from the imported ontology to the current ontology.
An ontology describing families might include axioms stating that a "hasMother" property is only present between two individuals when "hasParent" is also present, and that individuals of class "HasTypeOBlood" are never related via "hasParent" to members of the "HasTypeABBlood" class. If it is stated that the individual Harriet is related via "hasMother" to the individual Sue, and that Harriet is a member of the "HasTypeOBlood" class, then it can be inferred that Sue is not a member of "HasTypeABBlood". This is, however, only true if the concepts of "Parent" and "Mother" only mean biological parent or mother and not social parent or mother.
To choose a subset of first-order logic that is decidable, propositional logic was used, increasing its power by adding logics represented by convention with acronyms:
Letter or symbol of logic | Description | |
---|---|---|
l{AL} | Inclusion and equivalence between classes, definition of atomic classes, universe class, intersection between classes, definitions of classes formed by elements that take part in relationships or have a relationship of a certain type only with elements of a certain class, congruence operator between individuals and an individual's membership in a class | |
l{ALC} | adds to AL the empty class, the complement classes, the union of classes and the classes of elements that are in a certain relationship with elements of a certain class | |
l{S} | Adds the definition of the transitivity of a relation to ALC | |
l{H} | Inclusion and equivalence between relations | |
l{R} | disjunction of properties, reflexivity, asymmetry, irreflexivity, relations composed of other relations, definition of non-relationship between two individuals | |
l{O} | creation of classes via list of all and only the individuals contained | |
l{I} | definition of inverse property | |
l{F} | definition of functional properties | |
l{N} | cardinality restriction: number of elements participating in a certain relationship less than, greater than or equal to a value n | |
l{Q} | like N, but the relationship can be qualified | |
l{D}n | definition of domains (data types) to which a relationship can lead (e.g. "Mario is n years old") |
The W3C-endorsed OWL specification includes the definition of three variants of OWL, with different levels of expressiveness. These are OWL Lite, OWL DL and OWL Full (ordered by increasing expressiveness). Each of these sublanguages is a syntactic extension of its simpler predecessor. The following set of relations hold. Their inverses do not.
OWL Lite was originally intended to support those users primarily needing a classification hierarchy and simple constraints. For example, while it supports cardinality constraints, it only permits cardinality values of 0 or 1. It was hoped that it would be simpler to provide tool support for OWL Lite than its more expressive relatives, allowing quick migration path for systems using thesauri and other taxonomies. In practice, however, most of the expressiveness constraints placed on OWL Lite amount to little more than syntactic inconveniences: most of the constructs available in OWL DL can be built using complex combinations of OWL Lite features, and is equally expressive as the description logic
l{SHIF}(D)
OWL DL is designed to provide the maximum expressiveness possible while retaining computational completeness (either φ or ¬φ holds), decidability (there is an effective procedure to determine whether φ is derivable or not), and the availability of practical reasoning algorithms. OWL DL includes all OWL language constructs, but they can be used only under certain restrictions (for example, number restrictions may not be placed upon properties which are declared to be transitive; and while a class may be a subclass of many classes, a class cannot be an instance of another class). OWL DL is so named due to its correspondence with description logic, a field of research that has studied the logics that form the formal foundation of OWL.
This one can be expressed as
l{SHOIN}(D)
OWL Full is based on a different semantics from OWL Lite or OWL DL, and was designed to preserve some compatibility with RDF Schema. For example, in OWL Full a class can be treated simultaneously as a collection of individuals and as an individual in its own right; this is not permitted in OWL DL. OWL Full allows an ontology to augment the meaning of the pre-defined (RDF or OWL) vocabulary. OWL Full is undecidable, so no reasoning software is able to perform complete reasoning for it.
In OWL 2, there are three sublanguages of the language. OWL 2 EL is a fragment that has polynomial time reasoning complexity; OWL 2 QL is designed to enable easier access and query to data stored in databases; OWL 2 RL is a rule subset of OWL 2.
The OWL family of languages supports a variety of syntaxes. It is useful to distinguish high level syntaxes aimed at specification from exchange syntaxes more suitable for general use.
These are close to the ontology structure of languages in the OWL family.
High level syntax is used to specify the OWL ontology structure and semantics.[28]
The OWL abstract syntax presents an ontology as a sequence of annotations, axioms and facts. Annotations carry machine and human oriented meta-data. Information about the classes, properties and individuals that compose the ontology is contained in axioms and facts only.Each class, property and individual is either anonymous or identified by an URI reference. Facts state data either about an individual or about a pair of individual identifiers (that the objects identified are distinct or the same). Axioms specify the characteristics of classes and properties. This style is similar to frame languages, and quite dissimilar to well known syntaxes for DLs and Resource Description Framework (RDF).
Sean Bechhofer, et al. argue that though this syntax is hard to parse, it is quite concrete. They conclude that the name abstract syntax may be somewhat misleading.[29]
This syntax closely follows the structure of an OWL2 ontology. It is used by OWL2 to specify semantics, mappings to exchange syntaxes and profiles.[30]
OWL RDF/XML Serialization | |
Extension: | .owx, .owl, .rdf |
Mime: | application/owl+xml, application/rdf+xml[31] |
Owner: | World Wide Web Consortium |
Standard: | OWL 2 XML Serialization, OWL Reference |
Open: | Yes |
Syntactic mappings into RDF are specified[32] for languages in the OWL family. Several RDF serialization formats have been devised. Each leads to a syntax for languages in the OWL family through this mapping. RDF/XML is normative.
OWL2 specifies an XML serialization that closely models the structure of an OWL2 ontology.[33]
The Manchester Syntax is a compact, human readable syntax with a style close to frame languages.Variations are available for OWL and OWL2. Not all OWL and OWL2 ontologies can be expressed in this syntax.[34]
Consider an ontology for tea based on a Tea class. First, an ontology identifier is needed. Every OWL ontology must be identified by a URI (http://www.example.org/tea.owl, say). This example provides a sense of the syntax. To save space below, preambles and prefix definitions have been skipped.
fix name="owl" IRI="http://www.w3.org/2002/07/owl#"/> <Declaration> <Class IRI="Tea"/> </Declaration> </Ontology> </syntaxhighlight> ;Manchester Syntax: <syntaxhighlight lang="turtle"> Ontology: <http://example.org/tea.owl> Class: Tea </syntaxhighlight> ;RDF/XML syntax:<syntaxhighlight lang="xml"> <rdf:RDF ...> <owl:Ontology rdf:about=""/> <owl:Class rdf:about="#Tea"/> </rdf:RDF> </syntaxhighlight> ;RDF/[[Turtle (syntax)|Turtle]]: <syntaxhighlight lang="turtle"> <http://example.org/tea.owl> rdf:type owl:Ontology . :Tea rdf:type owl:Class . </syntaxhighlight> ==Semantics== {{main|Semantics of programming languages}} ===Relation to description logics=== OWL classes correspond to [[description logic]] (DL) ''concepts'', OWL properties to DL ''roles'', while ''individuals'' are called the same way in both the OWL and the DL terminology.<ref>{{cite book |last=Sikos |first=Leslie F. |date=2017 |title=Description Logics in Multimedia Reasoning |url=https://www.springer.com/us/book/9783319540658 |location=Cham |publisher=Springer International Publishing |isbn=978-3-319-54066-5 |doi=10.1007/978-3-319-54066-5 |s2cid=3180114 }}</ref> {{blockquote|In the beginning, IS-A was quite simple. Today, however, there are almost as many meanings for this inheritance link as there are knowledge-representation systems.|[[Ronald J. Brachman]]|''What IS-A is and isn't''<ref>Brachman, Ronald J. (1983); ''What IS-A is and isn't: An analysis of taxonomic links in semantic networks'', IEEE Computer, vol. 16, no. 10, pp. 30-36</ref>}} Early attempts to build large ontologies were plagued by a lack of clear definitions. Members of the OWL family have [[model theory|model theoretic]] formal semantics, and so have strong [[logic]]al foundations. Description logics are a family of logics that are decidable fragments of [[first-order logic]] with attractive and well-understood computational properties. OWL DL and OWL Lite semantics are based on DLs.<ref>{{cite web |url=http://www.cs.man.ac.uk/~horrocks/Publications/download/2003/HoPa03c.pdf |first1=Ian |last1=Horrocks |first2=Peter F. |last2=Patel-Schneider |title=Reducing OWL Entailment to Description Logic Satisfiability }}</ref> They combine a syntax for describing and exchanging ontologies, and formal semantics that gives them meaning. For example, OWL DL corresponds to the <math>\mathcal{SHOIN}^\mathcal{(D)}</math> description logic, while OWL 2 corresponds to the <math>\mathcal{SROIQ}^\mathcal{(D)}</math> logic.<ref>{{cite book |title=Foundations of Semantic Web Technologies |first1=Pascal |last1=Hitzler |author-link1=Pascal Hitzler |first2=Markus |last2=Krötzsch |first3=Sebastian |last3=Rudolph |publisher=CRCPress |date=2009-08-25 |isbn=978-1-4200-9050-5 |url=http://www.semantic-web-book.org }}</ref> Sound, complete, terminating [[reasoner]]s (i.e. systems which are guaranteed to derive every consequence of the knowledge in an ontology) exist for these DLs. ===Relation to RDFS=== OWL Full is intended to be compatible with [[RDF Schema]] (RDFS), and to be capable of augmenting the meanings of existing [[Resource Description Framework]] (RDF) vocabulary.<ref>{{cite web |url=http://www.w3.org/TR/2004/REC-owl-features-20040210/ |title=OWL Web Ontology Language Overview |first1=Deborah |last1=McGuinness |author-link=Deborah McGuiness |first2=Frank |last2=van Harmelen |author-link2=Frank van Harmelen |date=2004-02-10 |work=W3C Recommendation for OWL, the Web Ontology Language |publisher=World Wide Web Consortium |access-date=18 April 2010}}</ref> A [[model theory]] describes the formal semantics for RDF.<ref>{{cite web |url=http://www.w3.org/TR/2004/REC-rdf-mt-20040210/ |title=RDF Semantics |first=Patrick |last=Hayes |author-link=Patrick J. Hayes |date=2004-02-10 |work=Resource Description Framework |publisher=World Wide Web Consortium |access-date=18 April 2010 }}</ref> This interpretation provides the meaning of RDF and RDFS vocabulary. So, the meaning of OWL Full ontologies are defined by extension of the RDFS meaning, and OWL Full is a [[extension (model theory)|semantic extension]] of RDF.<ref>{{cite web |url=http://www.w3.org/TR/owl-semantics/rdfs.html |title=OWL Web Ontology Language Semantics and Abstract Syntax Section 5. RDF-Compatible Model-Theoretic Semantics |first1=Peter F. |last1=Patel-Schneider |first2=Patrick |last2=Hayes |first3=Ian |last3=Horrocks |date=2004-02-10 |work=W3C Recommendation for OWL, the Web Ontology Language |publisher=World Wide Web Consortium |access-date=18 April 2010 }}</ref> ===Open world assumption=== {{blockquote|[The closed] world assumption implies that everything we don't know is ''false'', while the open world assumption states that everything we don't know is ''undefined''.|Stefano Mazzocchi|''Closed World vs. Open World: the First Semantic Web Battle''<ref>{{cite web |url=http://www.betaversion.org/~stefano/linotype/news/91/ |title=Closed World vs. Open World: the First Semantic Web Battle |first=Stefano |last=Mazzocchi |author-link=Setfano Mazzocchi |date=2005-06-16 |access-date=27 April 2010 |archive-url=https://web.archive.org/web/20090624113015/http://www.betaversion.org/~stefano/linotype/news/91/ |archive-date=24 June 2009 }}</ref>}} The languages in the OWL family use the [[open world assumption]]. Under the open world assumption, if a statement cannot be proven to be true with current knowledge, we cannot draw the conclusion that the statement is false. ====Contrast to other languages==== A [[relational database]] consists of sets of [[tuple]]s with the same [[Attribute (computing)|attribute]]s. [[SQL]] is a query and management language for relational databases. [[Prolog]] is a [[Logic programming|logical programming]] language. Both use the [[closed world assumption]]. ==Public ontologies== ===Libraries=== ====Biomedical==== * [[Open Biomedical Ontologies|OBO Foundry]]<ref>{{cite web|author=OBO Technical WG |url=http://obofoundry.org |title=The OBO Foundry |publisher=The OBO Foundry |access-date=2017-02-23}}</ref><ref>{{Cite web | url=http://www.berkeleybop.org/ontologies/ | archive-url=https://web.archive.org/web/20070222135936/http://www.berkeleybop.org/ontologies/ | archive-date=2007-02-22 | title=OBO Download Matrix}}</ref> * [[National Center for Biomedical Ontology|NCBO BioPortal]]<ref>{{cite web |url=http://www.bioontology.org/ncbo/faces/pages/ontology_list.xhtml |title=The National Center for Biomedical Ontology - BioPortal |website=www.bioontology.org |access-date=17 January 2022 |archive-url=https://web.archive.org/web/20070703212612/http://www.bioontology.org/ncbo/faces/pages/ontology_list.xhtml |archive-date=3 July 2007 }}</ref> * [[National Cancer Institute|NCI]] Enterprise Vocabulary Services ===Standards=== * [[Suggested Upper Merged Ontology]] (SUMO)<ref>{{cite web |url=http://www.ontologyportal.org/translations/SUMO.owl.txt |title=Archived copy |website=www.ontologyportal.org |access-date=17 January 2022 |archive-url=https://web.archive.org/web/20040726184415/http://www.ontologyportal.org/translations/SUMO.owl.txt |archive-date=26 July 2004 }}</ref> * [[TDWG]]<ref>{{cite web|url=http://community.gbif.org/pg/pages/view/29079/a-review-of-the-tdwg-ontologies |title=GBIF Community Site: Section 1: a review of the TDWG Ontologies |website=Community.gbif.org |date=2013-02-12 |access-date=2017-02-23}}</ref> * PROV-O,<ref>{{cite web|url=http://www.w3.org/TR/prov-o/ |title=PROV-O: The PROV Ontology |website=W3.org |access-date=2017-02-23}}</ref> the ontology version of the [[World Wide Web Consortium|W3C's]] PROV-DM<ref>{{cite web|url=http://www.w3.org/TR/prov-dm/ |title=PROV-DM: The PROV Data Model |website=W3.org |access-date=2017-02-23}}</ref> * [[Basic Formal Ontology]] (BFO)<ref>{{Cite web|url=https://www.iso.org/standard/74572.html|title=Iso/Iec 21838-2:2021}}</ref> * [[European Materials Modelling Ontology]] (EMMO)<ref>{{Cite web|url=https://github.com/emmo-repo/EMMO|title=Elementary Multiperspective Material Ontology (EMMO)|website=[[GitHub]]|date=28 January 2022}}</ref> ===Browsers=== The following tools include public ontology browsers: * [[Protégé (software)|Protégé OWL]]<ref>{{cite web|url=http://protege.stanford.edu |title=protégé |website=Protege.stanford.edu |access-date=2017-02-23}}</ref> ===Search=== * [[Swoogle]] ==Limitations== * No direct language support for n-ary relationships. For example, modelers may wish to describe the qualities of a relation, to relate more than 2 individuals or to relate an individual to a list. This cannot be done within OWL. They may need to adopt a pattern instead which encodes the meaning outside the formal semantics.<ref>{{cite web |url=http://www.w3.org/TR/swbp-n-aryRelations/ |title=Defining N-ary Relations on the Semantic Web |first1=Natasha |last1=Noy |author-link=Natasha Noy |first2=Alan |last2=Rector |author-link2=Alan Rector |date=2006-04-12 |publisher=World Wide Web Consortium |access-date=17 April 2010 }}</ref> ==See also== {{Div col|colwidth=22em}} * [[Resource Description Framework|RDF]] * [[Semantic technology]] * [[Agris: International Information System for the Agricultural Sciences and Technology]] * [[Common Logic]] * [[FOAF (software)|FOAF]] + [[wiktionary:DOAC|DOAC]] * [[Frame language]] * [[Geopolitical ontology]] * [[IDEAS Group]] * [[Meta-Object Facility|Meta-Object Facility (MOF)]], a different standard for the [[Unified Modeling Language|Unified Modeling Language (UML)]] of the [[Object Management Group|Object Management Group (OMG)]] * [[Metaclass (Semantic Web)]], a featured allowed by OWL to represent knowledge * [[Multimedia Web Ontology Language]] * [[Semantic reasoner]] * [[SKOS]] * [[SSWAP]]: Simple Semantic Web Architecture and Protocol * [[SHACL]]: Shapes and Constraints Language for RDF {{Div col end}} ==References== {{Reflist|30em}} ==Further reading== * {{cite web |url=http://www.cs.man.ac.uk/~horrocks/ISWC2003/Tutorial/ |archive-url=https://web.archive.org/web/20170715074737/http://www.cs.man.ac.uk/~horrocks/ISWC2003/Tutorial/ |archive-date=2017-07-15 |title=Tutorial on OWL |last1=Bechhofer |first1=Sean |last2=Horrocks |first2=Ian |last3=Patel-Schneider |first3=Peter F. |year=2021}} * {{cite web |url=http://www.inf.unibz.it/~franconi/dl/course/ |title=Introduction to Description Logics |first=Enrico |last=Franconi |publisher=Free University of Bolzano |year=2002}} * {{cite conference|last=Horrocks|first=Ian|year=2010|conference=SemTech 2010|url=http://www.comlab.ox.ac.uk/people/ian.horrocks/Seminars/download/Horrocks_Ian_pt1.pdf|title=Description Logic: A Formal Foundation for Ontology Languages and Tools, Part 1: Languages}} * {{cite conference|last=Horrocks|first=Ian|year=2010|conference=SemTech 2010|url=http://www.comlab.ox.ac.uk/people/ian.horrocks/Seminars/download/Horrocks_Ian_pt2.pdf|title=Description Logic: A Formal Foundation for Ontology Languages and Tools, Part 2: Tools}} {{Semantic Web}} {{W3C Standards}} {{Data Exchange}} {{Authority control}} [[Category:Web Ontology Language| ]] [[Category:World Wide Web Consortium standards]] [[Category:Resource Description Framework]] [[Category:XML-based standards]] [[Category:Declarative programming languages]] [[Category:Ontology languages]] [[Category:Semantic Web]]