- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Tue, 31 Dec 2002 12:02:20 -0500 (EST)
- To: www-webont-wg@w3.org
Here is a different characterization of OWL/DL graphs. There are probably bugs remaining, but the idea is, I think, viable. peter Informal Description of OWL/DL Graphs Let G be an RDF graph. LISTS: A node x1 in G is an non-empty list in G with elements e1,...,en if there is a set of triples of the form x1 rdf:type rdf:List . x1 rdf:first e1 . x1 rdf:rest x2 . ... xn rdf:type rdf:List . xn rdf:first en . xn rdf:rest rdf:nil . where each xi is a distinct blank node that appears as the object of exactly one triple in G and x1 does not appear as the object of an rdf:rest triple. The definition triples of x1 are the triples above plus the definition triples of e1,...,en. DESCRIPTIONS: A node x in G is a description in G if x is a blank node and there is a set of triples of one of the following forms, where 1/ r is an object property or a datatype property in G. 2/ if r is an object property in G then d is a description or a class; if r is a datatype property in G then d is a data range or a datatype. 3/ if r is an object property in G then i is an individual and URI reference; if r is a datatype property in G then i is a typed or untyped literal. 4/ n is a typed literal whose data value is a non-negative integer. 5/ ds is rdf:nil or a non-empty list whose elements are descriptions or classes. 6/ dc is a description or a class. 7/ is is rdf:nil or a non-empty list whose elements are individuals that are also URI references. allValuesFrom form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:allValuesFrom d . someValuesFrom form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:someValuesFrom d . hasValue form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:hasValue i . minCardinality form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:minCardinality n . maxCardinality form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:maxCardinality n . cardinality form: x rdf:type owl:Restriction . x owl:onProperty r . x owl:cardinality n . unionOf form: x owl:unionOf ds . intersectionOf form: x owl:intersectionOf ds . complementOf form: x owl:complementOf dc . oneOf form: x owl:oneOf is . The definition triples of the description are the triples above plus the definition triples of any description, data range, or list in the triples above. A node x in G is a data range in G if x is a blank node there is a set of triples of the form x owl:oneOf rdf:nil . or x owl:oneOf is . where is is a non-empty list whose elements are typed or untyped literals. The definition triples of the data range are the triples above plus the definition triples of the list. PROPERTIES: A node x in G is a datatype property if x is a URI reference and there is a triple of the form x rdf:type owl:DatatypeProperty . The assertions about x in G are the triples in G of the following forms, where y is a datatype property in G, d is a description or class in G, and r is a data range or datatype in G x rdf:type owl:DatatypeProperty . x rdfs:subPropertyOf y . x rdfs:domain d . x rdfs:range r . x rdf:type owl:FunctionalProperty . x owl:samePropertyAs y . plus the definition triples of any description or data range in these triples. A node x in G is an object property if x is a URI reference and there is a triple of the form x rdf:type owl:ObjectProperty . The assertions about x in G are the triples in G of the following forms, where y is an object property in G, d is a description or class in G x rdf:type owl:ObjectProperty . x rdfs:subPropertyOf y . x rdfs:domain d . x rdfs:range d . x owl:inverse y . x rdf:type owl:SymmetricProperty . x rdf:type owl:FunctionalProperty . x rdf:type owl:InverseFunctionalProperty . x rdf:type owl:TransitiveProperty . x owl:samePropertyAs y . plus the definition triples of any description in these triples. CLASSES: A node x in G is a class if x is owl:Thing or owl:Nothing or x is a URI reference and there is a triple of the form x rdf:type owl:Class . The assertions about x in G are the triples in G of the following forms, where d is a top-level description or class in G x rdf:type owl:Class . x rdfs:subClassOf d . x owl:sameClassAs d . x owl:disjointFrom d. A node x in G is a top-level description if x is a description that is not in the definition triples of any other description in G. The assertions about x in G are the triples in G of the following forms, where d is a top-level description or class in G x rdf:type owl:Class . x rdfs:subClassOf d . x owl:sameClassAs d . x owl:disjointWith d . plus the definition triples of x. INDIVIDUALS: A node x in G is an individual if there is a triple of the form x rdf:type c . where c is a description or class. The assertions about x in G are the triples of G of the following forms, where c is a description or class, rd is a datatype property, v is a typed or untyped literal, ro is an object property, and i is an individual. x rdf:type c . x rd v . x ro i . x owl:sameAs i . x owl:differentFrom i . plus the definition triples of any description in these triples. ONTOLOGIES: A node x in G is an ontology if x is a URI reference and there is a triple of the form x rdf:type owl:Ontology . The assertions about x are the triples of G of the following form x rdf:type owl:Ontology . x owl:imports y . where y is a URI reference that is not a datatype property, an object property, a class, or an individual. OWL/DL GRAPHS: An RDF graph is an OWL/DL graph if: 1/ The datatype properties of G, the object properties of G, the classes of G, the individuals of G, and the ontologies of G are pairwise disjoint and disjoint from the RDF, RDFS, and OWL vocabularies (except owl:Thing and owl:Nothing). 2/ The definition triples of any description or datarange are disjoint from the definition triples of other description or data range except for any description or data range that is a node of some triple in the definition triples of the description or data range. (Therefore the definition triples of any description or datarange form a tree.) 3/ The triples of the graph can be disjointly partitioned such that each partition is either a/ the assertions about a datatype property, object property, class, top-level description, individual, or ontology; b/ (annotation) triples whose subject is a datatype property, an object property, a class, or an individual and whose predicate is not a datatype property, an object property, a class, an individual, nor any URI reference from the RDF, RDFS, or OWL namespaces; or c/ (ontology annotation) triples whose subject is an ontology and whose predicate is not a datatype property, an object property, a class, an individual, or any URI reference from the RDF, RDFS, or OWL namespaces except the ontology annotation predicates.
Received on Tuesday, 31 December 2002 12:02:28 UTC