A set of OWL RL rules to formalize the semantics of RDFS Plus.
This documentation has been automatically generated using UISPIN with TopBraid from the SPIN profile at http://topbraid.org/spin/rdfsplus. Contact: Holger Knublauch
Rules Index: cax-eqc1 cax-eqc2 cax-sco eq-rep-o eq-rep-p eq-rep-s eq-sym eq-trans prp-dom prp-eqp1 prp-eqp2 prp-fp prp-ifp prp-inv1 prp-inv2 prp-rng prp-spo1 prp-symp prp-trp scm-cls scm-dom1 scm-dom2 scm-dp scm-eqc scm-eqp scm-op scm-rng1 scm-rng2 scm-sco scm-spo
# cax-eqc1
CONSTRUCT {
?x a ?c2 .
}
WHERE {
?c1 owl:equivalentClass ?c2 .
?x a ?c1 .
}
# cax-eqc2
CONSTRUCT {
?x a ?c1 .
}
WHERE {
?c1 owl:equivalentClass ?c2 .
?x a ?c2 .
}
# cax-sco
CONSTRUCT {
?x a ?c2 .
}
WHERE {
?c1 rdfs:subClassOf ?c2 .
?x a ?c1 .
}
# eq-rep-o
CONSTRUCT {
?s ?p ?o2 .
}
WHERE {
?o owl:sameAs ?o2 .
?s ?p ?o .
}
# eq-rep-p
CONSTRUCT {
?s ?p2 ?o .
}
WHERE {
?p owl:sameAs ?p2 .
?s ?p ?o .
}
# eq-rep-s
CONSTRUCT {
?s2 ?p ?o .
}
WHERE {
?s owl:sameAs ?s2 .
?s ?p ?o .
}
# eq-sym
CONSTRUCT {
?y owl:sameAs ?x .
}
WHERE {
?x owl:sameAs ?y .
}
# eq-trans
CONSTRUCT {
?x owl:sameAs ?z .
}
WHERE {
?x owl:sameAs ?y .
?y owl:sameAs ?z .
}
# prp-dom
CONSTRUCT {
?x a ?c .
}
WHERE {
?p rdfs:domain ?c .
?x ?p ?y .
}
# prp-eqp1
CONSTRUCT {
?x ?p2 ?y .
}
WHERE {
?p1 owl:equivalentProperty ?p2 .
?x ?p1 ?y .
}
# prp-eqp2
CONSTRUCT {
?x ?p1 ?y .
}
WHERE {
?p1 owl:equivalentProperty ?p2 .
?x ?p2 ?y .
}
# prp-fp
CONSTRUCT {
?y1 owl:sameAs ?y2 .
}
WHERE {
?p a owl:FunctionalProperty .
?x ?p ?y1 .
?x ?p ?y2 .
FILTER (?y1 != ?y2) .
}
# prp-ifp
CONSTRUCT {
?x1 owl:sameAs ?x2 .
}
WHERE {
?p a owl:InverseFunctionalProperty .
?x1 ?p ?y .
?x2 ?p ?y .
FILTER (?x1 != ?x2) .
}
# prp-inv1
CONSTRUCT {
?y ?p2 ?x .
}
WHERE {
?p1 owl:inverseOf ?p2 .
?x ?p1 ?y .
}
# prp-inv2
CONSTRUCT {
?y ?p1 ?x .
}
WHERE {
?p1 owl:inverseOf ?p2 .
?x ?p2 ?y .
}
# prp-rng
CONSTRUCT {
?y a ?c .
}
WHERE {
?p rdfs:range ?c .
?x ?p ?y .
}
# prp-spo1
CONSTRUCT {
?x ?p2 ?y .
}
WHERE {
?p1 rdfs:subPropertyOf ?p2 .
?x ?p1 ?y .
}
# prp-symp
CONSTRUCT {
?y ?p ?x .
}
WHERE {
?p a owl:SymmetricProperty .
?x ?p ?y .
}
# prp-trp
CONSTRUCT {
?x ?p ?z .
}
WHERE {
?p a owl:TransitiveProperty .
?x ?p ?y .
?y ?p ?z .
}
# scm-cls
CONSTRUCT {
?c rdfs:subClassOf ?c .
?c owl:equivalentClass ?c .
?c rdfs:subClassOf owl:Thing .
owl:Nothing rdfs:subClassOf ?c .
}
WHERE {
?c a owl:Class .
}
# scm-dom1
CONSTRUCT {
?p rdfs:domain ?c2 .
}
WHERE {
?p rdfs:domain ?c1 .
?c1 rdfs:subClassOf ?c2 .
}
# scm-dom2
CONSTRUCT {
?p1 rdfs:domain ?c .
}
WHERE {
?p2 rdfs:domain ?c .
?p1 rdfs:subPropertyOf ?p2 .
}
# scm-dp
CONSTRUCT {
?p rdfs:subPropertyOf ?p .
?p owl:equivalentProperty ?p .
}
WHERE {
?p a owl:DatatypeProperty .
}
# scm-eqc
CONSTRUCT {
?c1 rdfs:subClassOf ?c2 .
?c2 rdfs:subClassOf ?c1 .
}
WHERE {
?c1 owl:equivalentClass ?c2 .
}
# scm-eqp
CONSTRUCT {
?p1 rdfs:subPropertyOf ?p2 .
?p2 rdfs:subPropertyOf ?p1 .
}
WHERE {
?p1 owl:equivalentProperty ?p2 .
}
# scm-op
CONSTRUCT {
?p rdfs:subPropertyOf ?p .
?p owl:equivalentProperty ?p .
}
WHERE {
?p a owl:ObjectProperty .
}
# scm-rng1
CONSTRUCT {
?p1 rdfs:range ?c2 .
}
WHERE {
?p rdfs:range ?c1 .
?c1 rdfs:subClassOf ?c2 .
}
# scm-rng2
CONSTRUCT {
?p1 rdfs:range ?c .
}
WHERE {
?p2 rdfs:range ?c .
?p1 rdfs:subPropertyOf ?p2 .
}
# scm-sco
CONSTRUCT {
?c1 rdfs:subClassOf ?c2 .
}
WHERE {
?c1 (rdfs:subClassOf)* ?c2 .
}
# scm-spo
CONSTRUCT {
?p1 rdfs:subPropertyOf ?p3 .
}
WHERE {
?p1 rdfs:subPropertyOf ?p2 .
?p2 rdfs:subPropertyOf ?p3 .
}