Quick Reference Guide

From OWL
Revision as of 16:57, 29 April 2009 by Baojie (Talk | contribs)

Jump to: navigation, search

__NUMBEREDHEADINGS__

[Hide Review Comments]

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 provides a quick reference guide to the OWL 2 language. It also 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.
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 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.


Editor's Note: This document is in the process of a major revision on its layout. Current cleaned-up sections: up tp 2.2.1 Property Expressions
Editor's Note: To do list:

1 Prefixes

The The standard prefixes in OWL 2 are:
Prefix URI
rdf http://www.w3.org/1999/02/22-rdf-syntax-ns#
rdfs http://www.w3.org/2000/01/rdf-schema#
owl http://www.w3.org/2002/07/owl#
xsd http://www.w3.org/2001/XMLSchema#

2 OWL 2 constructs and axioms

Editor's Note: There are some links that are currently missing in other document.

Features in bold are only available in OWL 2. In the tables, the first column links to Primer and New Features and Rationale (if applicable), the 2nd column links to (Functional) Syntax.

We use the following notation conventions: "C" is a class expression, "D" is a data range, "P" is an object property expression, "R" is a data property, "A" is an annotation property, "a" is an OWL individual, "v" is a literal, "n" is a non-negative integer, "_:x" is a blank node, "O" is an ontology, and U is an IRI. All of the previous can have subscripts. "(a1 … an)" is an RDF list.

Editor's Note: Christine suggested to use same naming convention as in Syntax, e.g., CE, DR, OPE, DPE, a and lt

For an OWL 2 DL ontology, there are some global restrictions on axioms.

2.1 Classes

Predefined and Named Classes
Language Feature Functional Syntax RDF Syntax
universal class owl:Thing owl:Thing
empty class owl:Nothing owl:Nothing
named class U U


Boolean Connectives and Enumeration of Individuals
Language Feature Functional Syntax RDF Syntax
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
Language Feature Functional Syntax RDF Syntax
universal ObjectAllValuesFrom(P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:allValuesFrom C
existential ObjectSomeValuesFrom(P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:someValuesFrom C
individual value ObjectHasValue(P a) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:hasValue a.
local reflexivity (N) ObjectHasSelf(P) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:hasSelf "true"^^xsd:boolean.
exact cardinality ObjectExactCardinality(n P) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:cardinality n.
qualified exact cardinality (N) ObjectExactCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:qualifiedCardinality n.
_:x owl:onClass C.
maximum cardinality ObjectMaxCardinality(n P) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:minCardinality n.
qualified maximum cardinality (N) ObjectMaxCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:minQualifiedCardinality n.
_:x owl:onClass C.
minimum cardinality ObjectMinCardinality(n P) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxCardinality n.
qualified minimum cardinality (N) ObjectMinCardinality(n P C) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxQualifiedCardinality n.
_:x owl:onClass C.


Data Property Restrictions
Language Feature Functional Syntax RDF Syntax
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.
exact cardinality DataExactCardinality(n R) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:cardinality n.
qualified exact cardinality (N) DataExactCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:qualifiedCardinality n.
_:x owl:onDataRange D.
maximum cardinality DataMaxCardinality(n R) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxCardinality n.
qualified maximum cardinality (N ) DataMaxCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:maxQualifiedCardinality n.
_:x owl:onDataRange D.
minimum cardinality DataMinCardinality(n R) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:minCardinality n.
qualified minimum cardinality (N) DataMinCardinality(n R D) _:x rdf:type owl:Restriction.
_:x owl:onProperty P.
_:x owl:minQualifiedCardinality n.
_:x owl:onDataRange D.


Restrictions Using n-ary Data Range
"Dn" is an n-ary data range.
Language Feature Functional Syntax RDF Syntax
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.


Class Axioms
Language Feature Functional Syntax RDF Syntax
subclasses SubClassOf(C1 C2) C1 rdfs:subClassOf C2.
equivalent classes EquivalentClasses(C1 … Cn) Cj owl:equivalentClass Cj+1. j=1…n-1
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

Object Property Expressions
Language Feature Functional Syntax RDF Syntax
named object property U U
universal object property (N ) owl:topObjectProperty owl:topObjectProperty
empty object property (N) owl:bottomObjectProperty owl:bottomObjectProperty
inverse property ObjectInverseOf(P) _:x owl:inverseOf P


Datatype Property Expressions
Language Feature Functional Syntax RDF Syntax
named datatype property U U
universal datatype property (N) owl:topDataProperty owl:topDataProperty
empty datatype property (N) owl:bottomDataProperty owl:bottomDataProperty


Object Property Axioms
Language Feature Functional Syntax RDF Syntax
subproperty SubObjectPropertyOf(P1 P2) P1 rdfs:subPropertyOf P2.
property chain inclusion (N) SubObjectPropertyOf(ObjectPropertyChain(P1 … Pn) P) P 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) Pj owl:equivalentProperty Pj+1. j=1…n-1
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(P1 P2) P1 owl:inverseOf P2.
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
Language Feature Functional Syntax RDF Syntax
subproperty SubDataPropertyOf(R1 R2) R1 rdfs:subPropertyOf R2.
property domain DataPropertyDomain(R C) R rdfs:domain C.
property range DataPropertyRange(R D) R rdfs:range D.
equivalent properties EquivalentDataProperties(R1 … Rn) Rj owl:equivalentProperty Rj-1. j=1…n-1
disjoint properties (N) DisjointDataProperties(R1 R2) R1 owl:propertyDisjointWith R2.
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 Individuals & Literals

Language Feature Functional Syntax RDF Syntax
named individual U U
anonymous individual _:a _:a
literal "abc"^^datatypeIRI "abc"^^datatypeIRI

2.4 Data Ranges

Language Feature Functional Syntax RDF Syntax
named data type U U
data range complement (N) DataComplementOf(D) _:x rdf:type rdfs:Datatype.
_:x owl:datatypeComplementOf D.
data range intersection (N) DataIntersectionOf(D1…Dn) _:x rdf:type rdfs:Datatype.
_:x owl:intersectionOf (D1…Dn).
data range union (N) DataUnionOf(D1…Dn) _:x rdf:type rdfs:Datatype.
_:x owl:unionOf (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)
D a built-in datatype
fj a constraining facet,
vj a restriction value
_:x rdf:type rdfs:Datatype.
_:x owl:onDatatype D.
_:x owl:withRestrictions (y1 ... yn).
yj fj vj. j=1…n


2.5 Keys

Language Feature Functional Syntax RDF Syntax
Keys (N) HasKey(C (P1 … Pm) (R1 … Rn) ) C owl:hasKey (P1 … Pm R1 … Rn).


2.6 Assertions

Language Feature Functional Syntax RDF Syntax
individual equality SameIndividual(a1 a2) a1 owl:sameAs a2.
n-ary individual equality SameIndividual(a1 … an) aj owl:sameAs aj+1. j=1…n-1
individual 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) a rdf:type C.
positive object property assertion ObjectPropertyAssertion( P a1 a2 )
P is a named object property
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 a2
negative 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.7 Declarations

C, D, P, R, R, A, a are all named.

Language Feature Functional Syntax RDF Syntax
class (N) Declaration( Class( C ) ) C rdf:type owl:Class.
datatype (N) Declaration( Datatype( D ) ) D rdf:type rdfs:Datatype.
object property (N) Declaration( ObjectProperty( P ) ) P rdf:type owl:ObjectProperty.
datatype property (N) Declaration( DataProperty( R ) ) R rdf:type owl:DatatypeProperty.
annotation property (N) Declaration( AnnotationProperty( A ) ) A rdf:type owl:AnnotationProperty.
named individual (N) Declaration( NamedIndividual( a ) ) a rdf:type owl:NamedIndividual.


2.8 Annotations

Annotation of an object
s the annotated object, v a resource.
Language Feature Functional Syntax RDF Syntax
annotation assertions AnnotationAssertion( A s v) s A v.

or (if the assertion itself has annotation)
s A v.
_:x rdf:type owl:Annotation.
_:x owl:subject s.
_:x owl:predicate A.
_:x owl:object v.
Note: an annotated object can be a named ontology, a named ontology entity (class, datatype, property or individual), an anonymous individual, or another annotation.


Annotation of an axiom
y the annotated object, v a resource
Language Feature Functional Syntax RDF Syntax
axiom annotations (N) AXIOM(Annotation( A v) ) s p o.
_:x rdf:type owl:Axiom.
_:x owl:subject s.
_:x owl:predicate p.
_:x owl:object o.
_:x A v.
If AXIOM(...) becomes s p o.

_:x p o
_:x A v.
If AXIOM(...) becomes _:x p o.
Note: for n-ary 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.


Annotation Properties
Language Feature Functional Syntax RDF Syntax
human-readable name Label rdfs:label
human-readable description Comment rdfs:comment
additional information rdfs:seeAlso
defining agent rdfs:isDefinedBy
version information owl:versionInfo
deprecation Deprecated owl:deprecated


Annotation Axioms
Language Feature Functional Syntax RDF Syntax
annotation subproperties (N) SubAnnotationPropertyOf(A1 A2) A1 rdfs:subPropertyOf A2.
annotation property domain (N ) AnnotationPropertyDomain(A U) A rdfs:domain U.
annotation property range (N) AnnotationPropertyRange(A U) A rdfs:range U.


Deprecation
C a named class or a named datatype, P an named object property, named datatype property or annotation property;
Language Feature Functional Syntax RDF Syntax
deprecated class C owl:deprecated "true"^^xsd:boolean C rdf:type owl:DeprecatedClass.
deprecated property P owl:deprecated "true"^^xsd:boolean P rdf:type owl:DeprecatedProperty.
deprecated IRI U owl:deprecated "true"^^xsd:boolean U owl:deprecated "true"^^xsd:boolean.


2.9 Ontologies

Ontologies
U an ontology IRI, V an IRI.
Language Feature Functional Syntax RDF Syntax
OWL ontology
(importing )
Ontology(O [V]
Import(U)...

Annotation(A, v)...
)
O rdf:type owl:Ontology.
[O owl:versionIRI V.]
O owl:imports U. ...
O A v.
...
Note: if O is unnamed, then O is mapped to _:x (an anonymous individual).


Ontology Properties
Language Feature Functional Syntax
backwards compatibility O owl:backwardCompatibleWith U.
incompatibility O owl:incompatibleWith U.
prior version O owl:priorVersion U.


2.10 Deprecated Vocabulary in OWL 2

Language Feature Functional Syntax
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.
Numbers owl:rational owl:real (N)
xsd:double xsd:float xsd:decimal xsd:integer
xsd:long xsd:int xsd:short xsd:byte
xsd:nonNegativeInteger xsd:nonPositiveInteger
xsd:positiveInteger xsd:negativeInteger
xsd:unsignedLong xsd:unsignedInt
xsd:unsignedShort xsd:unsignedByte
Strings rdf:text (internationalized strings)
xsd:string xsd:NCName xsd:Name xsd:NMTOKEN
xsd:token xsd:language xsd:normalizedString
Boolean Values xsd:Boolean (value space: true and false)
Binary Data xsd:base64Binary xsd:hexBinary
IRIs xsd:anyURI
Time Instants xsd:dateTime (with time zone offset)
xsd:dateTimeStamp (without time zone offset)
XML Literals 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 an IRI 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:maxExclusive
Numeric Datatype DT,
Time instant DT
Literal in DT Restricts the value-space to greater than (equal to)
or lesser than (equal to) a value
xsd:minLength,
xsd:maxLength,
xsd:length
String Datatype,
Binary Datatype,
xsd:anyURI
Non-negative integer Restricts the value-space based on the
lengths of the literals
xsd:pattern String Datatype,
xsd:anyURI
xsd:string literal whose value is a regular expression Restricts the value space to literals that
match the regular expression
rdf: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 editors extend special thanks to Bernardo Cuenca Grau (Oxford University), Christine Golbreich (Université de Versailles St-Quentin and LIRMM), Ivan Herman (W3C/ERCIM), Bijan Parsia (University of Manchester) and Peter F. Patel-Schneider (Bell Labs Research, Alcatel-Lucent) for their thorough reviews.

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.

Retrieved from "http://www.w3.org/2007/OWL/wiki/index.php?title=Quick_Reference_Guide&oldid=22787"