-> tableAll(). #------------------------------------------------------------------ # RDFS Axioms #------------------------------------------------------------------ -> (rdf:type rdfs:range rdfs:Class). -> (rdfs:Resource rdf:type rdfs:Class). #------------------------------------------------------------------ # RDFS Closure rules #------------------------------------------------------------------ [rdfs7b: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf rdfs:Resource)] [rdfs2: (?p rdfs:domain ?c) -> [(?x rdf:type ?c) <- (?x ?p ?y)] ] [rdfs3: (?p rdfs:range ?c) -> [(?y rdf:type ?c) <- (?x ?p ?y), notFunctor(?y)] ] [rdfs5a: (?a rdfs:subPropertyOf ?b), (?b rdfs:subPropertyOf ?c) -> (?a rdfs:subPropertyOf ?c)] #[rdfs5b: (?a rdf:type rdf:Property) -> (?a rdfs:subPropertyOf ?a)] [rdfs5b: (?a rdfs:subPropertyOf ?a) <- (?a rdf:type rdf:Property)] [rdfs6: (?p rdfs:subPropertyOf ?q), notEqual(?p,?q) -> [ (?a ?q ?b) <- (?a ?p ?b)] ] [rdfs7: (?a rdf:type rdfs:Class) -> (?a rdfs:subClassOf ?a)] # omit rdfs8, derivable from rdfs9 and prototype2 [rdfs9: (?x rdfs:subClassOf ?y), notEqual(?x,?y) -> [ (?a rdf:type ?y) <- (?a rdf:type ?x)] ] [rdfs10: (?x rdf:type rdfs:ContainerMembershipProperty) -> (?x rdfs:subPropertyOf rdfs:member)] [rdfs2-partial: (?p rdfs:domain ?c) -> (?c rdf:type rdfs:Class)] [rdfs3-partial: (?p rdfs:range ?c) -> (?c rdf:type rdfs:Class)] #------------------------------------------------------------------ # RDFS iff extensions needed for OWL #------------------------------------------------------------------ [rdfs2a: (?x rdfs:domain ?z) <- bound(?x), (?x rdfs:domain ?y), (?y rdfs:subClassOf ?z) ] [rdfs2a: (?x rdfs:domain ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:domain ?y) ] [rdfs3a: (?x rdfs:range ?z) <- bound(?x), (?x rdfs:range ?y), (?y rdfs:subClassOf ?z) ] [rdfs3a: (?x rdfs:range ?z) <- unbound(?x), (?y rdfs:subClassOf ?z), (?x rdfs:range ?y) ] [rdfs12a: (rdf:type rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Resource rdfs:subClassOf ?y)] [rdfs12a: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdfs:Class rdfs:subClassOf ?y)] [rdfs12a: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:domain ?y) -> (rdf:Property rdfs:subClassOf ?y)] [rdfs12b: (rdfs:subClassOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdfs:Class rdfs:subClassOf ?y)] [rdfs12b: (rdfs:subPropertyOf rdfs:subPropertyOf ?z), (?z rdfs:range ?y) -> (rdf:Property rdfs:subClassOf ?y)] [rdfsder1: (?p rdfs:range ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:range ?z)] [rdfsder2: (?p rdfs:domain ?z) <- (?p rdfs:subPropertyOf ?q), notEqual(?p, ?q), (?q rdfs:domain ?z)] #------------------------------------------------------------------ # Declaration of main XSD datatypes #------------------------------------------------------------------ -> (xsd:float rdf:type rdfs:Datatype). -> (xsd:double rdf:type rdfs:Datatype). -> (xsd:int rdf:type rdfs:Datatype). -> (xsd:long rdf:type rdfs:Datatype). -> (xsd:short rdf:type rdfs:Datatype). -> (xsd:byte rdf:type rdfs:Datatype). -> (xsd:unsignedByte rdf:type rdfs:Datatype). -> (xsd:unsignedShort rdf:type rdfs:Datatype). -> (xsd:unsignedInt rdf:type rdfs:Datatype). -> (xsd:unsignedLong rdf:type rdfs:Datatype). -> (xsd:decimal rdf:type rdfs:Datatype). -> (xsd:integer rdf:type rdfs:Datatype). -> (xsd:nonPositiveInteger rdf:type rdfs:Datatype). -> (xsd:nonNegativeInteger rdf:type rdfs:Datatype). -> (xsd:positiveInteger rdf:type rdfs:Datatype). -> (xsd:negativeInteger rdf:type rdfs:Datatype). -> (xsd:boolean rdf:type rdfs:Datatype). -> (xsd:string rdf:type rdfs:Datatype). -> (xsd:anyURI rdf:type rdfs:Datatype). -> (xsd:hexBinary rdf:type rdfs:Datatype). -> (xsd:base64Binary rdf:type rdfs:Datatype). -> (xsd:date rdf:type rdfs:Datatype). -> (xsd:time rdf:type rdfs:Datatype). -> (xsd:dateTime rdf:type rdfs:Datatype). -> (xsd:duration rdf:type rdfs:Datatype). -> (xsd:gDay rdf:type rdfs:Datatype). -> (xsd:gMonth rdf:type rdfs:Datatype). -> (xsd:gYear rdf:type rdfs:Datatype). -> (xsd:gYearMonth rdf:type rdfs:Datatype). -> (xsd:gMonthDay rdf:type rdfs:Datatype). -> (xsd:integer rdfs:subClassOf xsd:decimal). -> hide(rb:xsdBase). -> hide(rb:xsdRange). -> hide(rb:prototype). -> (xsd:byte rb:xsdBase xsd:decimal). -> (xsd:short rb:xsdBase xsd:decimal). -> (xsd:int rb:xsdBase xsd:decimal). -> (xsd:long rb:xsdBase xsd:decimal). -> (xsd:unsignedByte rb:xsdBase xsd:decimal). -> (xsd:unsignedShort rb:xsdBase xsd:decimal). -> (xsd:unsignedInt rb:xsdBase xsd:decimal). -> (xsd:unsignedLong rb:xsdBase xsd:decimal). -> (xsd:integer rb:xsdBase xsd:decimal). -> (xsd:nonNegativeInteger rb:xsdBase xsd:decimal). -> (xsd:nonPositiveInteger rb:xsdBase xsd:decimal). -> (xsd:byte rb:xsdBase xsd:decimal). -> (xsd:float rb:xsdBase xsd:float). -> (xsd:decimal rb:xsdBase xsd:decimal). -> (xsd:string rb:xsdBase xsd:string). -> (xsd:boolean rb:xsdBase xsd:boolean). -> (xsd:date rb:xsdBase xsd:date). -> (xsd:time rb:xsdBase xsd:time). -> (xsd:dateTime rb:xsdBase xsd:dateTime). -> (xsd:duration rb:xsdBase xsd:duration). # Describe range (base type, signed, min bits) -> (xsd:byte rb:xsdRange xsd(xsd:integer,1,8)). -> (xsd:short rb:xsdRange xsd(xsd:integer,1,16)). -> (xsd:int rb:xsdRange xsd(xsd:integer,1,32)). -> (xsd:long rb:xsdRange xsd(xsd:integer,1,64)). -> (xsd:integer rb:xsdRange xsd(xsd:integer,1,65)). -> (xsd:unsignedByte rb:xsdRange xsd(xsd:integer,0,8)). -> (xsd:unsignedShort rb:xsdRange xsd(xsd:integer,0,16)). -> (xsd:unsignedInt rb:xsdRange xsd(xsd:integer,0,32)). -> (xsd:unsignedLong rb:xsdRange xsd(xsd:integer,0,64)). -> (xsd:nonNegativeInteger rb:xsdRange xsd(xsd:integer,0,65)). # Some XSD support may be disabled temporarily during performance checking [xsd1: (?X rdfs:subClassOf ?Y) <- (?X rb:xsdRange xsd(?B, 0, ?L)) (?Y rb:xsdRange xsd(?B, ?S, ?L2)) le(?L, ?L2)] [xsd2: (?X rdfs:subClassOf ?Y) <- (?X rb:xsdRange xsd(?B, 1, ?L)) (?Y rb:xsdRange xsd(?B, 1, ?L2)) le(?L, ?L2)] [range1: (?P rdfs:range ?C) <- (?P rdfs:range ?D), (?D rb:xsdRange xsd(?B, ?S1, ?L1)), (?P rdfs:range ?E), notEqual(?D, ?E), (?E rb:xsdRange xsd(?B, ?S2, ?L2)), min(?S1, ?S2, ?S3), min(?L1, ?L2, ?L3), (?C rb:xsdRange xsd(?B, ?S3, ?L3)), ] [range2: (?P rdfs:range xsd:byte) <- (?P rdfs:range xsd:nonNegativeInteger), (?P rdfs:range xsd:nonPositiveInteger)] [xsd3: (?C owl:disjointWith ?D) <- (?C rb:xsdBase ?BC), (?D rb:xsdBase ?BD), notEqual(?BC, ?BD) ]