Quick Reference Guide
From OWL
IanHorrocks (Talk | contribs) (versionInfo --> versionIRI) |
|||
| Line 391: | Line 391: | ||
:{| border=1 | :{| border=1 | ||
|- | |- | ||
| - | | [http://www.w3.org/2007/OWL/wiki/Primer#Aontology OWL ontology] || [http://www.w3.org/2007/OWL/wiki/Syntax#Ontologies Ontology](O V)<br> ''(V is optional)'' || O rdf:type owl:Ontology.<br/> O owl: | + | | [http://www.w3.org/2007/OWL/wiki/Primer#Aontology OWL ontology] || [http://www.w3.org/2007/OWL/wiki/Syntax#Ontologies Ontology](O V)<br> ''(V is optional)'' || O rdf:type owl:Ontology.<br/> O owl:versionIRI V. |
|- | |- | ||
| colspan="4" align="center"|'''Ontology Properties''' owl:OntologyProperty | | colspan="4" align="center"|'''Ontology Properties''' owl:OntologyProperty | ||
Revision as of 13:23, 9 April 2009
- Document title:
- OWL 2 Web Ontology Language
Quick Reference Guide (Second Edition)
- Authors
- Jie Bao, Rensselaer Polytechnic Institute
- Elisa F. Kendall, Sandpiper Software, Inc.
- Deborah L. McGuinness, Rensselaer Polytechnic Institute
- Contributors
- Li Ding, Rensselaer Polytechnic Institute
- Ankesh Khandelwal, Rensselaer Polytechnic Institute
- Peter F. Patel-Schneider, Bell Labs Research, Alcatel-Lucent
- Abstract
- The OWL 2 Web Ontology Language, informally OWL 2, is an ontology language for the Semantic Web with formally defined meaning. OWL 2 ontologies provide classes, properties, individuals, and data values and are stored as Semantic Web documents. OWL 2 ontologies can be used along with information written in RDF, and OWL 2 ontologies themselves are primarily exchanged as RDF documents. The OWL 2 Document Overview describes the overall state of OWL 2, and should be read before other OWL 2 documents.
This document is intended to provide a quick reference to the OWL 2 language, similar to what was provided in the Language Synopsis section of the OWL Web Ontology Language Overview. Inspiration for this effort includes work by the ebiquity Research Group at the University of Maryland Baltimore County (UMBC) on earlier versions of a Reference Card for the Semantic Web.
A draft printable version is available [1], but it is obsolete with respect to the current wiki version. - Status of this Document
- This is an editors' draft. The intended final status of this document has not yet been determined; since it may become a Recommendation, it should be considered a Recommendation-Track document for now.
The Quick Reference Guide provides links into other documents that it is intended to complement, particularly the OWL 2 Primer for examples, the New Features and Rationale document for selected feature descriptions, the Syntax document for more details of functional syntax, and the Mapping to RDF Graphs document for details of RDF syntax.
The OWL Working Group solicits feedback on how to improve and update this document.
Copyright © 2008-2009 W3C® (MIT, ERCIM, Keio), All Rights Reserved. W3C liability, trademark and document use rules apply.
Contents |
- Complete inline hyperlinks to Primer, Syntax, Mapping to RDF Graphs and New Features and Rationale when the missing ones are ready
- Decision pending: link to Direct Semantics and RDF-Based Semantics
- Make a new pdf print version when the guide is finalized.
- the gray background shading is a little bit disturbing, maybe try other typographic trick, e.g., some lighter colour.
- whether we could find a trick so that we can switch on/off highlight the OWL 1/2 differences and the '?' links that refer to the NF&R.
1 Name Spaces
2 OWL 2 constructs and axioms
Constructs in bold are only available in OWL 2. Each table has columns:
- 1st: construct's name and link to Primer and New Features and Rationale (if applicable)(as "(N)")
- 2nd: functional syntax and link to Syntax
- 3rd: RDF syntax with link to Mapping to RDF Graphs
We use the following notation conventions: unless stated otherwise, "C" is an OWL class, "D" is a data range, "P" and "Q" are object properties, "R" and "S" are data properties, "a" is an OWL individual, "u" and "v" are literals, "n" is a non-negative integer, "_:x" is anonymous individual. All names may have subscripts. "(a1 … an)" in the 3rd column stands for a rdf list.
For an OWL 2 DL ontology, there are some global restrictions on axioms.
2.1 Classes
- Predefined Classes
all OWL individuals owl:Thing owl:Thing empty class owl:Nothing owl:Nothing
- Boolean Connectives and Enumeration of Individuals
intersection ObjectIntersectionOf(C1 … Cn) _:x rdf:type owl:Class.
_:x owl:intersectionOf ( C1 … Cn ).union ObjectUnionOf(C1 … Cn) _:x rdf:type owl:Class.
_:x owl:unionOf ( C1 … Cn ).complement ObjectComplementOf(C) _:x rdf:type owl:Class.
_:x owl:complementOf C.enumeration ObjectOneOf(a1 … an) _:x rdf:type owl:Class.
_:x owl:oneOf ( a1 … an ).
- Object Property Restrictions
- Every owl:Restriction is an owl:Class.
universal ObjectAllValuesFrom(P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:allValuesFrom Cexistential ObjectSomeValuesFrom(P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:someValuesFrom Cindividual value ObjectHasValue(P a) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:hasValue i.local reflexivity (N) ObjectHasSelf(P) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:hasSelf "true"^^xsd:boolean.Object Property Cardinality Restrictions C is optional in OWL 2 and not allowed in OWL 1. (N)
exact cardinality ObjectExactCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:cardinality n. (without C)
_:x owl:qualifiedCardinality n.
_:x owl:onClass C. (with C)maximum cardinality ObjectMaxCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:minCardinality n. (without C)
_:x owl:minQualifiedCardinality n.
_:x owl:onClass C. (with C)minimum cardinality ObjectMinCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxCardinality n. (without C)
_:x owl:maxQualifiedCardinality n.
_:x owl:onClass C. (with C)
- Data Property Restrictions
- Every owl:Restriction is an owl:Class.
universal DataAllValuesFrom(R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty R.
_:x owl:allValuesFrom D.existential DataSomeValuesFrom(R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty R.
_:x owl:someValuesFrom D.individual value DataHasValue(R u) _:x rdf:type owl:Restriction.
_:x owl:onProperty R.
_:x owl:hasValue u.Data Property Cardinality Restrictions D is optional in OWL 2 and not allowed in OWL 1. (N)
exact cardinality DataExactCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:cardinality "n"^^xsd:nonNegativeInteger.
_:x owl:qualifiedCardinality "n"^^xsd:nonNegativeInteger. (without D)
_:x owl:onDataRange D. (with D)maximum cardinality DataMaxCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxCardinality "n"^^xsd:nonNegativeInteger. (without D)
_:x owl:maxQualifiedCardinality "n"^^xsd:nonNegativeInteger.
_:x owl:onDataRange D. (with D)minimum cardinality DataMinCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.(without D)
_:x owl:minCardinality "n"^^xsd:nonNegativeInteger.
_:x owl:minQualifiedCardinality "n"^^xsd:nonNegativeInteger.
_:x owl:onDataRange D. (with D)
- Restrictions Using n-ary Data Range
- "Dn" is a n-ary data range (cf #Data Ranges).
n-ary universal (N) DataAllValuesFrom(R1 … Rn Dn) _:x rdf:type owl:Restriction.
_:x owl:onProperties ( R1 … Rn ).
_:x owl:allValuesFrom Dn.n-ary existential (N) DataSomeValuesFrom(R1 … Rn Dn) _:x rdf:type owl:Restriction.
_:x owl:onProperties ( R1 … Rn).
_:x owl:someValuesFrom Dn.
2.1.1 Class Axioms
subclasses SubClassOf(C1 C2) C1 rdfs:subClassOf C2. equivalent classes EquivalentClasses(C1 … Cn) C1 owl:equivalentClass C2.
…
Cn-1 owl:equivalentClass Cn.disjoint classes DisjointClasses(C1 C2) C1 owl:disjointWith C2. pairwise disjoint classes (N) DisjointClasses(C1 … Cn) _:x rdf:type owl:AllDisjointClasses.
_:x owl:members ( C1 … Cn ).disjoint union (N) DisjointUnionOf(C C1 … Cn) C owl:disjointUnionOf ( C1 … Cn ).
2.2 Properties
2.2.1 Property Expressions
- instances of owl:ObjectProperty
universal object property owl:topObjectProperty owl:topObjectProperty bottom object property owl:bottomObjectProperty owl:bottomObjectProperty inverse property ObjectInverseOf(P) _:x owl:inverseOf P
- Datatype Properties
- instances of owl:DatatypeProperty
universal datatype property owl:topDataProperty owl:topDataProperty bottom datatype property owl:bottomDataProperty owl:topDataProperty
2.2.2 Property Axioms
- Object Property Axioms
subproperty SubObjectPropertyOf(P Q) P rdfs:subPropertyOf Q. property chain inclusion (N) SubObjectPropertyOf(ObjectPropertyChain(P1 … Pn) Q) Q owl:propertyChainAxiom (P1 … Pn). property domain ObjectPropertyDomain(P C) P rdfs:domain C. property range ObjectPropertyRange(P C) P rdfs:range C. equivalent properties EquivalentObjectProperties(P1 … Pn) P1 owl:equivalentProperty P2.
…
Pn-1 owl:equivalentProperty Pn.disjoint properties (N) DisjointObjectProperties(P1, P2) P1 owl:propertyDisjointWith P2. pairwise disjoint properties (N) DisjointObjectProperties(P1 … Pn) _:x rdf:type owl:AllDisjointProperties.
_:x owl:members ( P1 … Pn ).inverse properties InverseObjectProperties(P Q) P owl:inverseOf Q. functional property FunctionalObjectProperty(P) P rdf:type owl:FunctionalProperty. inverse functional property InverseFunctionalObjectProperty(P) P rdf:type owl:InverseFunctionalProperty. reflexive property (N) ReflexiveObjectProperty(P) P rdf:type owl:ReflexiveProperty. irreflexive property (N) IrreflexiveObjectProperty(P) P rdf:type owl:IrreflexiveProperty. symmetric property SymmetricObjectProperty(P) P rdf:type owl:SymmetricProperty. asymmetric property (N) AsymmetricObjectProperty(P) P rdf:type owl:AsymmetricProperty. transitive property TransitiveObjectProperty(P) P rdf:type owl:TransitiveProperty.
- Datatype Property Axioms
subproperty SubDataPropertyOf(R S) R rdfs:subPropertyOf S. property domain DataPropertyDomain(R C) R rdfs:domain C. property range DataPropertyRange(R C) R rdfs:range C. equivalent properties EquivalentDataProperties(R1 … Rn) R1 owl:equivalentProperty R2.
…
Rn-1 owl:equivalentProperty Rn.disjoint properties (N) DisjointDataProperties(R S) R owl:propertyDisjointWith S. pairwise disjoint properties (N) DisjointDataProperties(R1 … Rn) _:x rdf:type owl:AllDisjointProperties.
_:x owl:members ( R1 … Rn ).functional property FunctionalDataProperty(R) R rdf:type owl:FunctionalProperty.
2.3 Data Ranges
- Data ranges are sets of tuples of literals. All datatypes (rdfs:Datatype) are unary data ranges. Complex data ranges are constructed from data types and other data ranges.
- n-ary data ranges are not directly provided by OWL 2. However, OWL 2 provides syntactical hooks for applications to add n-ary data range support.
data range complement DataComplementOf(D) _:x rdf:type rdfs:Datatype.
_:x owl:datatypeComplementOf D.data range intersection DataUnionOf(D1…Dn) _:x rdf:type rdfs:Datatype.
_:x owl:unionOf (D1…Dn).data range union DataIntersectionOf(D1…Dn) _:x rdf:type rdfs:Datatype.
_:x owl:intersectionOf (D1…Dn).literal enumeration DataOneOf(v1 … vn) _:x rdf:type rdfs:Datatype.
_:x owl:oneOf ( v1 … vn ).datatype restriction (N) DatatypeRestriction(D f1 v1 … fn vn)
fj a constraining facet,
vj a restriction value_:x rdf:type rdfs:Datatype.
_:x owl:onDatatype D.
_:x owl:withRestrictions (y1 ... yn).
y1 f1 v1.
...
yn fn vn.
2.4 Keys
2.5 Assertions
individual equality SameIndividual(a1,a2) a1 owl:sameAs a2. individual equality SameIndividual(a1 … an) aj owl:sameAs aj+1.
j=1…n-1individual inequality DifferentIndividuals(a1 a2) a1 owl:differentFrom a2. pairwise individual inequality DifferentIndividuals(a1 … an) _:x rdf:type owl:AllDifferent.
_:x owl:members (a1 … an).class assertion ClassAssertion(C a) i rdf:type C. positive object property assertion ObjectPropertyAssertion( P a1 a2 ) a1 P a2. positive inverse object property assertion ObjectPropertyAssertion( ObjectInverseOf(P) a1 a2 ) a2 P a1. positive data property assertion DataPropertyAssertion( P a v ) a P v. negative object property assertion (N) NegativeObjectPropertyAssertion(P a1 a2 ) _:x rdf:type owl:NegativePropertyAssertion.
_:x owl:sourceIndividual a1.
_:x owl:assertionProperty P.
_:x owl:targetIndividual a2negative datatype property assertion (N) NegativeDataPropertyAssertion(R a u ) _:x rdf:type owl:NegativePropertyAssertion.
_:x owl:sourceIndividual a.
_:x owl:assertionProperty R.
_:x owl:targetValue u
2.6 Declarations
class (N) Declaration( Class( x ) ) x rdf:type owl:Class. datatype (N) Declaration( Datatype( x ) ) x rdf:type rdfs:Datatype. object property (N) Declaration( ObjectProperty( x ) ) x rdf:type owl:ObjectProperty. datatype property (N) Declaration( DataProperty( x ) ) x rdf:type owl:DatatypeProperty. annotation property (N) Declaration( AnnotationProperty( x ) ) x rdf:type owl:AnnotationProperty. named individual (N) Declaration( NamedIndividual( x ) ) x rdf:type owl:NamedIndividual.
2.7 Reification
- If an axiom, when removed of all annotations, can be translated in a single RDF triple s p o, it can also be mapped to the following reified form
axioms s p o s p o.
_:x rdf:type owl:Axiom.
_:x owl:subject s.
_:x owl:predicate p.
_:x owl:object o.s the subject, p the predicate, o the object of the triple.
- Note:
- for axioms of type EquivalentClasses, EquivalentProperties or SameIndividual, they will first be broken up into several RDF triples of their binary forms, then each triple is reified using the above rule.
- for a axiom that is translated into a triple with s an anonymous node (e.g., in NegativePropertyAssertion), _:x is same to s.
2.8 Annotations
- Annotation of a Resource.
y the annotated resource, P annotation property, v a resource
annotations Annotation( P v) y P v. or (when the annotation itself has annotations) y P v.
_:x rdf:type owl:Annotation.
_:x owl:subject y.
_:x owl:predicate P.
_:x owl:object v.
- Note: in OWL 2, an annotated resource can be an ontology, an ontology entity (in a declaration axiom), an axiom, an anonymous individual, or another annotation.
all annotation properties are instances of owl:AnnotationProperty
human-readable name Label rdfs:label human-readable description Comment rdfs:comment additional information rdfs:seeAlso defining agent rdfs:isDefinedBy deprecation Deprecated owl:deprecated
- Annotation Axioms
- s the annotation subject, P annotation property, v a resource; P,Q annotation properties, U a URI.
annotation assertions AnnotationAssertion( P s v) s P v. or (if the assertion itself has annotation) s P v.
_:x rdf:type owl:Annotation.
_:x owl:subject s.
_:x owl:predicate P.
_:x owl:object v.annotation subproperties SubAnnotationPropertyOf(P Q) P rdfs:subPropertyOf Q. annotation property domain AnnotationPropertyDomain(P U) P rdfs:domain U. annotation property range AnnotationPropertyRange(P U) P rdfs:range U.
- Deprecation
- C an OWL class or a datatype, P an object property, datatype property or annotation property.
deprecated class C Deprecated C rdf:type owl:DeprecatedClass. deprecated property P Deprecated P rdf:type owl:DeprecatedProperty.
- Note: "Deprecated" is the short for owl:deprecated "true"^^xsd:boolean
2.9 OWL Ontologies
- O an ontology, U an ontology URI, V a URI.
OWL ontology Ontology(O V)
(V is optional)O rdf:type owl:Ontology.
O owl:versionIRI V.Ontology Properties owl:OntologyProperty importing O Import(U) O owl:imports U. backwards compatibility O owl:backwardCompatibleWith U. incompatibility O owl:incompatibleWith U. prior version O owl:priorVersion U.
2.10 Deprecated Vocabulary in OWL 2
owl:DataRange replaced by rdfs:Datatype owl:distinctMembers replaced by owl:members
3 Built-in Datatypes and Facets
3.1 Built-in Datatypes
- The value space is a set determining the set of values of the datatype. A literal value "abc" of the datatype DT can be given in the form "abc"^^DT.
- OWL Numeric Datetypes:
owl:rational rational numbers owl:real (N) real numbers
- XSD Numeric Datatypes
xsd:double xsd:nonNegativeInteger xsd:long xsd:unsignedLong xsd:float xsd:nonPositiveInteger xsd:int xsd:unsignedInt xsd:decimal xsd:positiveInteger xsd:short xsd:unsignedShort xsd:integer xsd:negativeInteger xsd:byte xsd:unsignedByte
- Strings: value space is of the form <"abc", tag>
- Strings with a Language Tag: tag is either an empty string or a lowercase language tag
rdf:text internationalized strings
- Strings without a Language Tag: tag is an empty string
xsd:string xsd:NCName xsd:normalizedString xsd:NMTOKEN xsd:token xsd:language xsd:Name
xsd:Boolean value space has only two values: true and false
xsd:base64Binary xsd:hexBinary
xsd:anyURI IRIs as defined in XML Schema Datatypes
xsd:dateTime time instants with time zone offset xsd:dateTimeStamp time instants without time zone offset
rdf:XMLLiteral Note: at risk in OWL 2
3.2 Facets
The facet space is a set of pairs of the form < f v >, where f is a URI called a constraining facet, and v is a value. Each such pair is mapped to a subset of the value space of the datatype.
Notations: Numeric Datatype, String Datatype and Binary datatype refer to a set of datatypes based on the classification done in the prior section.
Facet(N) f Datatype Value v Explanation xsd:minInclusive,
xsd:maxInclusive,
xsd:minExclusive,
xsd:maxExclusiveNumeric Datatype DT,
Time instant DTLiteral in DT Restricts the value-space to greater than (equal to)
or lesser than (equal to) a valuexsd:minLength,
xsd:maxLength,
xsd:lengthString Datatype,
Binary Datatype,
xsd:anyURINonnegative integer Restricts the value-space based on the
lengths of the literalsxsd:pattern String Datatype,
xsd:anyURIxsd:string literal whose value is a regular expression Restricts the value space to literals that
match the regular expressionrdf:langRange rdf:text xsd:string literal whose value is a regular expression Restricts the value space to literals with
language tags that match the regular expression
4 Acknowledgments
The starting point for the development of OWL 2 was the OWL1.1 member submission, itself a result of user and developer feedback, and in particular of information gathered during the OWL Experiences and Directions (OWLED) Workshop series. The working group also considered postponed issues from the WebOnt Working Group.
This document has been produced by the OWL Working Group (see below), and its contents reflect extensive discussions within the Working Group as a whole.
The regular attendees at meetings of the OWL Working Group at the time of publication of this document were: Jie Bao (RPI), Diego Calvanese (Free University of Bozen-Bolzano), Bernardo Cuenca Grau (Oxford University Computing Laboratory), Martin Dzbor (Open University), Achille Fokoue (IBM Corporation), Christine Golbreich (Université de Versailles St-Quentin and LIRMM), Sandro Hawke (W3C/MIT), Ivan Herman (W3C/ERCIM), Rinke Hoekstra (University of Amsterdam), Ian Horrocks (Oxford University Computing Laboratory), Elisa Kendall (Sandpiper Software), Markus Krötzsch (FZI), Carsten Lutz (Universität Bremen), Deborah L. McGuinness (RPI), Boris Motik (Oxford University Computing Laboratory), Jeff Pan (University of Aberdeen), Bijan Parsia (University of Manchester), Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent), Sebastian Rudolph (FZI), Alan Ruttenberg (Science Commons), Uli Sattler (University of Manchester), Michael Schneider (FZI), Mike Smith (Clark & Parsia), Evan Wallace (NIST), Zhe Wu (Oracle Corporation), and Antoine Zimmermann (DERI Galway). We would also like to thank past members of the working group: Jeremy Carroll, Jim Hendler, and Vipul Kashyap.
