4.3 RDF Graphs of OWL Lite Ontologies

An OWL Full document [Add definition and link] is an OWL Lite document if the imports closure [Link is into part 5 of ASS] of the associated RDF graph meets certain conditions.

These conditions are as follows:

  1. For every node of the graph and every URI reference used as a property or datatype at least one of the following holds:
  2. Every node with explicit type of rdf:Property, owl:FunctionalProperty, [are the following really necessary? Shouldn't they be subclasses of owl:ObjectProperty?] owl:InverseFunctionalProperty, owl:SymmetricProperty or owl:TranstiveProperty must also have explicit type of either owl:ObjectProperty or owl:DatatypeProperty.
  3. No blank node occurs as the object of more than one triple.
  4. No directed cycles of blank nodes occurs.
  5. Every blank node can be assigned to one of the following categories: and every uriref node can be assigned to one of the following categories: such that:

We note that such an RDF graph is finite, being constructed from a finite number of finite documents.

A brief, incomplete, gloss on each category is as follows:

ontology node
names an ontology, typically using the URL of a file where the ontology is found.
ontology metaproperty
One of the builtin properties: owl:imports, owl:backwardlyCompatibleWith, owl:priorVersion or owl:incompatibleWith.
uriref class node
the name of a class in an ontology
restriction node
an unnamed class defined by an owl:Restriction in an ontology
uriref individual node
a named individual in an ontology
blank individual node
an unnamed individual in an ontology
datatype node
identifies an RDF datatype [Link needed]
simple datatype-property node
identifies an unconstrained datatype property
simple object-property node
identifies an unconstrained individual property
transitive property node
identifies an individual property related to a transitive property
constrained object-property node
identifies an individual property related to one with cardinality constraints
constrained datatype-property node
identifies a datatype-property related to one with cardinality constraints
class list node
A node constructed from an rdf:parseType="Collection" list, whose members are class nodes.
individual list node
A node constructed from an rdf:parseType="Collection" list, whose members are uriref individual nodes.
all different node
A node of type owl:AllDifferent.
literal node

WG note: The multiplicty of property categories is motivated by the desire to describe the side condition on transitive property syntactically rather than semantically, since the semantic formulation was flawed. It also allows the use of simple properties (i.e. with no constraints of any kind) both in annotations and on individuals.

A directed cycle of blank nodes is a sequence of triples t0, t1, ... tn, in which tn = t0, and in which the subjects and objects of all the triples are blank, and in which the object of ti is the subject of ti+1, for i from 0 to n-1.

4.3.1 Built-in URI references

The built-in URI references have the following categories.

URI reference Category
rdfs:labelsimple datatype-property node
rdfs:commentsimple datatype-property node
rdfs:seeAlsosimple object-property node
rdfs:isDefinedBysimple object-property node
owl:Thinguriref class node
owl:Nothinguriref class node
owl:importsontology metaproperty
owl:backwardlyCompatibleWithontology metaproperty
owl:priorVersionontology metaproperty
owl:incompatibleWithontology metaproperty
rdf:nilboth class list node and individual list node
The bult-in XML Schema datatypesdatatype node

4.3.2 OWL Lite Triple Templates

Every triple in an OWL Lite RDF Graph must be of one of the following forms: (an individual node is either a uriref individual node or a blank individual node).

Subject Predicate Object
ontology node rdf:type owl:Ontology
ontology node ontology metaproperty ontology node
ontology node simple datatype-property node literal node
ontology node simple object-property node individual node
uriref class node rdf:type owl:Class
uriref class node simple datatype-property node literal node
uriref class node simple object-property node individual node
uriref class node rdf:type rdfs:Class
uriref class node rdf:type owl:DeprecatedClass
uriref class node rdfs:subClassOf uriref class node
uriref class node rdf:subClassOf restriction node
uriref class node owl:sameClassAs uriref class node
uriref class node owl:sameClassAs restriction node
uriref class node owl:intersectionOf class list node
individual node rdf:type uriref class node
individual node rdf:type restriction node
individual node simple datatype-property node literal node
individual node constrained datatype-property node literal node
individual node simple object-property node individual node
individual node constrained object-property node individual node
individual node transitive property node individual node
uriref individual node owl:sameIndividualAs uriref individual node
uriref individual node owl:differentIndividualFrom uriref individual node
datatype node rdf:type rdfs:Datatype
simple datatype-property node rdf:type owl:DatatypeProperty
simple datatype-property node rdf:type rdf:Property
simple datatype-property node rdfs:subPropertyOf simple datatype-property node
simple datatype-property node owl:samePropertyAs simple datatype-property node
simple datatype-property node simple datatype-property node literal node
simple datatype-property node simple object-property node individual node
simple datatype-property node rdf:type owl:DeprecatedProperty
simple object-property node rdf:type owl:ObjectProperty
simple object-property node rdf:type rdf:Property
simple object-property node rdfs:subPropertyOf simple object-property node
simple object-property node owl:samePropertyAs simple object-property node
simple object-property node simple datatype-property node literal node
simple object-property node simple object-property node individual node
simple object-property node rdf:type owl:DeprecatedProperty
transitive property node rdf:type owl:ObjectProperty
transitive property node rdf:type owl:TransitiveProperty
transitive property node rdf:type owl:SymmetricProperty
transitive property node rdf:type rdf:Property
transitive property node rdfs:range uriref class node
transitive property node rdfs:domain uriref class node
transitive property node rdfs:subPropertyOf transitive property node
transitive property node rdfs:subPropertyOf simple object-property node
transitive property node owl:samePropertyAs transitive property node
transitive property node owl:inverseOf transitive property node
transitive property node simple datatype-property node literal node
transitive property node simple object-property node individual node
transitive property node rdf:type owl:DeprecatedProperty
constrained object-property node rdf:type owl:ObjectProperty
constrained object-property node rdf:type owl:FunctionalProperty
constrained object-property node rdf:type owl:InverseFunctionalProperty
constrained object-property node rdf:type owl:SymmetricProperty
constrained object-property node rdf:type rdf:Property
constrained object-property node rdfs:range uriref class node
constrained object-property node rdfs:domain uriref class node
constrained object-property node owl:inverseOf constrained object-property node
constrained object-property node rdfs:subPropertyOf constrained object-property node
constrained object-property node rdfs:subPropertyOf simple object-property node
constrained object-property node rdfs:subPropertyOf transitive property node
constrained object-property node owl:samePropertyAs constrained object-property node
constrained object-property node simple datatype-property node literal node
constrained object-property node simple object-property node individual node
constrained object-property node rdf:type owl:DeprecatedProperty
constrained datatype-property node rdf:type owl:DatatypeProperty
constrained datatype-property node rdf:type owl:FunctionalProperty
constrained datatype-property node rdf:type rdf:Property
constrained datatype-property node rdfs:range datatype node
constrained datatype-property node rdfs:domain uriref class node
constrained datatype-property node rdfs:subPropertyOf constrained datatype-property node
constrained datatype-property node rdfs:subPropertyOf simple datatype-property node
constrained datatype-property node owl:samePropertyAs constrained datatype-property node
constrained datatype-property node simple datatype-property node literal node
constrained datatype-property node simple object-property node individual node
constrained datatype-property node rdf:type owl:DeprecatedProperty
The following subject nodes are further constrained in the following subsections
restriction node any any
class list node any any
individual list node any any
all different node any any

4.3.3 OWL Lite Restriction Node Templates

If x is a restriction node then there must be three triples with x as subject and these must be one of the following sets:

Subject Predicate Object
1
x rdf:type owl:Restriction
x owl:onProperty constrained datatype-property node
x owl:allValuesFrom
or
owl:someValuesFrom
datatype node
2
x rdf:type owl:Restriction
x owl:onProperty constrained object-property node
or
transitive property node
x owl:allValuesFrom
or
owl:someValuesFrom
uriref class node
3
x rdf:type owl:Restriction
x owl:onProperty constrained object-property node
or
constrained datatype-property node
x owl:cardinality
or
owl:minCardinality
or
owl:maxCardinality
"0"^^xsd:nonNegativeInteger
or
"1"^^xsd:nonNegativeInteger

The datatype URI reference xsd:nonNegativeInteger may be replaced by any built-in derived type of xsd:decimal (including itself) which contains the lexical form in its lexical space.

4.3.4 OWL Lite Class List Node Templates

No triples may have rdf:nil as subject.

If x is a class list node, other than rdf:nil then there must be three triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type rdf:List
x rdf:first uriref class node
or
restriction node
x rdf:rest class list node

4.3.5 OWL Lite Individual List Node Templates

No triples may have rdf:nil as subject.

rdf:nil may be a class list node in one triple and an individual list node in another in the same graph.

If x is an individual list node, other than rdf:nil then there must be three triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type rdf:List
x rdf:first uriref individual node
x rdf:rest individual list node

4.3.6 All Different Node Template

If x is an all different node then there must be two triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type owl:AllDifferent
x owl:distinctMembers individual list node

4.4 RDF Graphs of OWL DL Ontologies

The set of OWL Full documents which are OWL DL documents is defined by modifications of the definition of OWL Lite.

In summary the modifications are:

An OWL Full document [Add definition and link] is an OWL DL document if the imports closure [Link is into part 5 of ASS] of the associated RDF graph meets certain conditions.

These conditions are as follows:

  1. As for OWL Lite.
  2. As for OWL Lite.
  3. As for OWL Lite.
  4. As for OWL Lite.
  5. Every blank node can be assigned to one of the following categories: and every uriref node can be assigned to one of the following categories: such that:

A brief, incomplete, gloss on each new category is as follows:

description node
a node representing a description of an OWL DL class.
dataRange node
a node representing a dataRange
dataRange list node
A node like an individual list node, whose members are literal values.

4.4.1 Built-in URI references

The built-in URI references have the same categories as in OWL Lite, except for rdf:nil which has the additional category of dataRange list node.

4.4.2 OWL DL Triple Templates

Every triple in an OWL DL RDF Graph must either match an OWL Lite triple template or be of one of the following forms: (an individual node is either a uriref individual node or a blank individual node).

Subject Predicate Object
uriref class node rdfs:subClassOf description node
uriref class node owl:sameClassAs description node
uriref class node owl:disjointWith uriref class node
uriref class node owl:disjointWith description node
I am very unsure about these ones, they are currently not allowed in OWL DL, but seem to correspond to standard unproblematic practive in DAML+OIL.
uriref class node owl:unionOf class list node
uriref class node owl:complementOf description
uriref class node owl:complementOf uriref class node
uriref class node owl:oneOf individual list node
end of questionable triples
individual node rdf:type description node
transitive property node rdfs:range description node
transitive property node rdfs:domain description node
constrained object-property node rdfs:range description node
constrained object-property node rdfs:domain description node
constrained datatype-property node rdfs:range dataRange node
constrained datatype-property node rdfs:domain description node
The following subject nodes are further constrained in the following subsections
description node any any
dataRange node any any
dataRange list node any any

4.4.3 Description Node Rules

If x is a description node then it must either match one of the OWL Lite Restriction node templates (with the generalization that any non-negative integer is allowed instead of "0" or "1" in the last template) or one of the OWL DL restriction templates below, or one of the OWL DL description templates below. Moreover it may be the subject of one additional triple of any of the following forms:

Subject Predicate Object
x owl:sameClassAs description node
x owl:sameClassAs uriref class node
x owl:disjointWith description node
x owl:disjointWith uriref class node

4.4.3.1 OWL DL Restriction Templates

A description node may match one of the following templates, consisting of exactly three triples with x as subject:

Subject Predicate Object
2
x rdf:type owl:Restriction
x owl:onProperty constrained datatype-property node
x owl:hasValue literal node
2
x rdf:type owl:Restriction
x owl:onProperty constrained object-property node
or
transitive property node
x owl:hasValue uriref individual node

4.4.3.2 OWL DL Description Template

A description node may have exactly two triples with x as subject, one being:

x rdf:type owl:Class .

The other being of one of the following forms:

uriref class node owl:intersectionOf class list node
uriref class node owl:unionOf class list node
uriref class node owl:complementOf description
uriref class node owl:complementOf uriref class node
uriref class node owl:oneOf individual list node

4.4.4 OWL DL Class List Node Templates

No triples may have rdf:nil as subject.

If x is a class list node, other than rdf:nil then there must be three triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type rdf:List
x rdf:first uriref class node
or
description node
x rdf:rest class list node

4.4.5 dataRange Node Template

If x is a dataRange then there must be two triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type what?
x owl:oneOf dataRange list node

4.4.6 dataRange Node Templates

No triples may have rdf:nil as subject.

If x is a dataRange list node, other than rdf:nil then there must be three triples with x as subject and these must of the following form:

Subject Predicate Object
x rdf:type rdf:List
x rdf:first dataRange node
x rdf:rest dataRange list node

Misc notes to be expanded

Bugs with AS:

Differences from AS: