- From: Jos De_Roo <jos.deroo.jd@belgium.agfa.com>
- Date: Sat, 31 Aug 2002 18:46:28 +0200
- To: pat hayes <phayes@ai.uwf.edu>
- Cc: www-webont-wg@w3.org
> The promised rewrite of the semantics document is at
>
> http://www.coginst.uwf.edu/users/phayes/RDFS2OWL-D.html
>
> Y'all may be pleased to know that I have removed the Great Horns.
> Also, just after finishing this it occurred to me how to simplify it
> somewhat and make the technique more general (and more like a genuine
> Herbrand universe), but that will have to wait a few days until I
> finish some other things.
>
> Comments welcome.
this is what we have been testing with so far
[[[
The OWL-closure of an OWL graph is gotten by adding all the triples
in the following table all triples gotten by applying the RDFS
closure rules in [RDFMT] and the closure rules in the final table,
until no more triples are generated.
]]]
===========================================================================
owl:FunctionalProperty rdf:type rdfs:Class .
owl:InverseFunctionalProperty rdf:type rdfs:Class .
owl:Ontology rdf:type rdfs:Class .
owl:Restriction rdf:type rdfs:Class .
owl:SymmetricProperty rdf:type rdfs:Class .
owl:TransitiveProperty rdf:type rdfs:Class .
owl:allValuesFrom rdf:type rdf:Property.
owl:allValuesFrom rdfs:domain owl:Restriction .
owl:allValuesFrom rdfs:range rdfs:Class .
owl:cardinality rdf:type rdf:Property.
owl:cardinality rdfs:domain owl:Restriction .
owl:cardinality rdfs:range xsd:nonNegativeInteger .
owl:complementOf rdf:type rdf:Property .
owl:complementOf rdf:type owl:SymmetricProperty .
owl:complementOf rdfs:domain rdfs:Class .
owl:complementOf rdfs:range rdfs:Class .
owl:differentFrom rdf:type rdf:Property .
owl:differentFrom rdf:type owl:SymmetricProperty .
owl:disjointWith rdf:type rdf:Property .
owl:disjointWith rdf:type owl:SymmetricProperty .
owl:disjointWith rdfs:domain rdfs:Class .
owl:disjointWith rdfs:range rdfs:Class .
owl:equivalentTo rdf:type rdf:Property .
owl:equivalentTo rdf:type owl:SymmetricProperty .
owl:equivalentTo rdf:type owl:TransitiveProperty .
owl:hasValue rdf:type rdf:Property .
owl:hasValue rdfs:domain owl:Restriction .
owl:imports rdf:type rdf:Property .
owl:imports rdfs:subPropertyOf rdfs:seeAlso .
owl:intersectionOf rdf:type rdf:Property .
owl:intersectionOf rdfs:domain rdfs:Class .
owl:intersectionOf rdfs:range rdf:List .
owl:inverseOf rdf:type rdf:Property .
owl:inverseOf rdf:type owl:SymmetricProperty .
owl:item rdf:type rdf:Property .
owl:item rdfs:domain rdf:List .
owl:maxCardinality rdf:type rdf:Property .
owl:maxCardinality rdfs:domain owl:Restriction .
owl:maxCardinality rdfs:range xsd:nonNegativeInteger .
owl:minCardinality rdf:type rdf:Property .
owl:minCardinality rdfs:domain owl:Restriction .
owl:minCardinality rdfs:range xsd:nonNegativeInteger .
owl:oneOf rdf:type rdf:Property .
owl:oneOf rdfs:domain rdfs:Class .
owl:oneOf rdfs:range rdf:List .
owl:onProperty rdf:type rdf:Property .
owl:onProperty rdfs:domain owl:Restriction .
owl:onProperty rdfs:range rdf:Property .
owl:sameClassAs rdf:type rdf:Property .
owl:sameClassAs rdf:type owl:SymmetricProperty .
owl:sameClassAs rdf:type owl:TransitiveProperty .
owl:sameClassAs rdfs:domain rdfs:Class .
owl:sameClassAs rdfs:range rdfs:Class .
owl:sameClassAs rdfs:subPropertyOf rdfs:subClassOf .
owl:samePropertyAs rdf:type rdf:Property .
owl:samePropertyAs rdf:type owl:SymmetricProperty .
owl:samePropertyAs rdf:type owl:TransitiveProperty .
owl:samePropertyAs rdfs:subPropertyOf rdfs:subPropertyOf .
owl:someValuesFrom rdf:type rdf:Property .
owl:someValuesFrom rdfs:domain owl:Restriction .
owl:someValuesFrom rdfs:range rdfs:Class .
owl:unionOf rdf:type rdf:Property .
owl:unionOf rdfs:domain rdfs:Class .
owl:unionOf rdfs:range rdf:List .
owl:versionInfo rdf:type rdf:Property .
owl:versionInfo rdfs:subPropertyOf rdfs:comment .
===========================================================================
IF | THEN
---------------------------------------------------------------------------
?p owl:inverseOf ?q . |
?s ?p ?o . | ?o ?q ?s .
---------------------------------------------------------------------------
?p rdf:type owl:SymmetricProperty . |
?s ?p ?o . | ?o ?p ?s .
---------------------------------------------------------------------------
?p rdf:type owl:TransitiveProperty . |
?x ?p ?o . |
?s ?p ?x . | ?s ?p ?o .
---------------------------------------------------------------------------
?y owl:complementOf ?z . |
?x owl:complementOf ?y . | ?x owl:sameClassAs ?z .
---------------------------------------------------------------------------
?a owl:intersectionOf ?x . |
?b owl:intersectionOf ?y . |
?x :includes ?y . |
?y :includes ?x . | ?a owl:sameClassAs ?b .
---------------------------------------------------------------------------
?a owl:unionOf ?x . |
?b owl:unionOf ?y . |
?x :includes ?y . |
?y :includes ?x . | ?a owl:sameClassAs ?b .
---------------------------------------------------------------------------
?a owl:oneOf ?x . |
?b owl:oneOf ?y . |
?x :includes ?y . |
?y :includes ?x . | ?a owl:sameClassAs ?b .
---------------------------------------------------------------------------
?x owl:equivalentTo ?z . |
?x ?p ?y . | ?z ?p ?y .
---------------------------------------------------------------------------
?p owl:equivalentTo ?q . |
?x ?p ?y . | ?x ?q ?y .
---------------------------------------------------------------------------
?y owl:equivalentTo ?z . |
?x ?p ?y . | ?x ?p ?z .
---------------------------------------------------------------------------
?p rdf:type owl:FunctionalProperty . |
?s ?p ?x . |
?s ?p ?y . | ?x owl:equivalentTo ?y .
---------------------------------------------------------------------------
?p rdf:type owl:InverseFunctionalProperty . |
?x ?p ?o . |
?y ?p ?o . | ?x owl:equivalentTo ?y .
---------------------------------------------------------------------------
?C owl:oneOf ?L . |
?L owl:item ?x . | ?x rdf:type ?C .
---------------------------------------------------------------------------
?R owl:onProperty ?p . |
?R owl:allValuesFrom ?C . |
?s rdf:type ?R . |
?s ?p ?o . | ?o rdf:type ?C .
---------------------------------------------------------------------------
?D owl:intersectionOf ?L . |
?L owl:item ?C . |
?x rdf:type ?D . | ?x rdf:type ?C .
---------------------------------------------------------------------------
?C owl:intersectionOf ?L . |
?x :inAllOf ?L . | ?x rdf:type ?C .
---------------------------------------------------------------------------
?C owl:unionOf ?L . |
?x :inSomeOf ?L . | ?x rdf:type ?C .
---------------------------------------------------------------------------
?a owl:intersectionOf ?x . |
?b owl:intersectionOf ?y . |
?x :includes ?y . | ?a rdfs:subClassOf ?b .
---------------------------------------------------------------------------
?a owl:unionOf ?x . |
?b owl:unionOf ?y . |
?y :includes ?x . | ?a rdfs:subClassOf ?b .
---------------------------------------------------------------------------
?a owl:oneOf ?x . |
?b owl:oneOf ?y . |
?y :includes ?x . | ?a rdfs:subClassOf ?b .
---------------------------------------------------------------------------
?a owl:intersectionOf ?x . |
?x owl:item ?b . | ?a rdfs:subClassOf ?b .
---------------------------------------------------------------------------
?b owl:unionOf ?y . |
?y owl:item ?a . | ?a rdfs:subClassOf ?b .
---------------------------------------------------------------------------
| ( ?x @b ) owl:item ?x .
---------------------------------------------------------------------------
( @b ) owl:item ?x . | ( ?a @b ) owl:item ?x .
---------------------------------------------------------------------------
| ( @a ) :includes ( ) .
---------------------------------------------------------------------------
( @a ) owl:item ?b . |
( @a ) :includes ( @c ) . | ( @a ) :includes ( ?b @c )
.
---------------------------------------------------------------------------
| ( ) owl:notItem ?x .
---------------------------------------------------------------------------
?a owl:differentFrom ?x . |
( @b ) owl:notItem ?x . | ( ?a @b ) owl:notItem ?x .
---------------------------------------------------------------------------
| ?x :inAllOf ( ) .
---------------------------------------------------------------------------
?x rdf:type ?a . |
?x :inAllOf ( @b ) . | ?x :inAllOf ( ?a @b ) .
---------------------------------------------------------------------------
?x rdf:type ?a . | ?x :inSomeOf ( ?a @b ) .
---------------------------------------------------------------------------
?x :inSomeOf ( @b ) . | ?x :inSomeOf ( ?a @b ) .
-- ,
Jos De Roo, AGFA http://www.agfa.com/w3c/jdroo/
Received on Saturday, 31 August 2002 12:47:05 UTC