#Below, in RDFS+OWL/Turle, the part of the Sub Ontology that can be represented via RDFS+OWL/Turtle.
#Sub is fully represented in FL at http://www.webkb.org/kb/it/p_kEvaluation/ontology/sub/sub.fl.html
#This Turtle file tries to mirror the FL file as much as the Turtle syntax permits. Hence:
#1) this file has the same sections as the FL file, although using comments.
#2) seeing the FL representations in another window when reading the Turtle representations below
# may help understanding these Turtle representations, or conversely.
#since this file uses some types that are further defined via sparql operations,
# FOR MORE PRECISION, THE PARSING OF THIS FILE SHOULD RATHER BE FOLLOWED BY THE EXECUTION OF
# (the SPARQL update operations in) THE SPARQL UPDATE FILE DISPLAYED BY
# http://www.webkb.org/kb/it/o_KR/p_kEvaluation/ontology/sub/sub.rq.html
@prefix : <http://www.webkb.org/kb/it/p_kEvaluation/ontology/sub/> .
@prefix sub: <http://www.webkb.org/kb/it/p_kEvaluation/ontology/sub/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2006/12/owl2#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
#Abbreviations used and defined below:
# :sC relates a class to a strict subclass that is uncomparable but not disjoint to its siblings
# except for those which are connected by subtype relations or by
# exclusion relations (and hence already known to be non-equivalent.
# However, if the above referred SPARQL update operations are not run,
# :SC is just the inverse of a strict version of owl:subClassOf.
# :sP is the counterpart of SC for properties.
# Without SPARQL, it is just the inverse of a strict version of owl:subPropertyOf.
# :eqP is equivalent to owl:equivalentProperty.
# :disjP is equivalent to owl:propertyDisjointWith, and :disjC to owl:disjointWith.
# :pC ("partition of class") is equivalent to owl:disjointUnionOf.
# :pP ("partition of properties") is the counterpart of owl:disjointUnionOf for properties.
# Without SPARQL, it is just the inverse of a strict version of owl:subPropertyOf.
# :cC ("complete set of non-disjoint sub-classes"), a subtype of owl:unionOf.
# Without SPARQL, it is just an abbreviation for owl:unionOf.
# :cP ("complete set of non-disjoint sub-properties") is the counterpart of :cC for properties.
# Without SPARQL, it is just the inverse of a strict version of owl:subPropertyOf.
# :eC ("incomplete set of exclusive sub-class") combine :SC and owl:AllDisjointClasses.
# Without SPARQL, it is just the inverse of a strict version of owl:subClassOf.
# :eP ("incomplete set of exclusive sub-properties") is the counterpart of :eC for properties.
# Without SPARQL, it is just the inverse of a strict version of owl:subPropertyOf.
#@@@@@@@@@@@@@@@@@@@@@@@@ 1. Basic Types
owl:Thing owl:disjointUnionOf (:Type :Non-type_thing).
:Type owl:disjointUnionOf (rdf:Property rdfs:Class). rdfs:Class :sC owl:Class.
:Non-type_thing owl:disjointUnionOf (:Statement :Individual).
:Statement owl:disjointUnionOf (:Named_statement :Anonymous_statement);
:sC rdf:statement, :Statement_with_only_one_relation.
#not with RDF+OWL: :Statement_with_only_one_relation owl:equivalentProperty :relation.
rdf:statement :sC owl:NegativePropertyAssertion.
:Named_statement :sC :Statement_named_via_rdfs-label, :Statement_with_id.
:Statement_named_via_rdfs-label rdf:type owl:Class;
owl:equivalentClass [rdf:type owl:Restriction; owl:onProperty rdfs:label;
owl:someValuesFrom owl:Thing ].
:Contextualizationt :sC :Contextualizing_value.
:False rdf:type :Contextualizing_value.
:True rdf:type :Contextualizing_value.
#*********************** 1.1. Some Top-Level Basic Relation Types
owl:topObjectProperty # :eqP :binary_relation; #not with RDF+OWL
:pP (owl:sameAs owl:differentFrom); :pP (:equivalent :non-equivalent);
:sP :definition_or_semantic_generalization_or_specialization_or_comparability,
:extended_part_or_part-of, :relation_equivalent_to_a_CN_query .
#each of these subtypes is specialized in a next (sub-)section
owl:differentFrom :pP (:different_but_equivalent :different_and_non-equivalent).
:equivalent
rdfs:label "<==>"^^xsd:string; #just a name/label in RDFS/Turtle; in FL, also an identifier
:pP (:equivalent_type :equivalent_non-type_thing);
:pP (owl:sameAs :different_but_equivalent).
:different_but_equivalent rdfs:label "!<==>"^^xsd:string.
:equivalent_type
:pP (:equivalent_property :equivalent_class).
:equivalent_property owl:equivalentProperty :eqP, owl:equivalentProperty.
:equivalent_class owl:equivalentProperty :eqC, owl:equivalentClass.
:equivalent_non-type_thing :pP (:equivalent_statement :equivalent_individual ).
:equivalent_statement rdfs:label "<=>"^^xsd:string;
rdfs:domain :Statement; rdfs:range :Statement.
:non-equivalent rdfs:label "!<==>"^^xsd:string;
:sP :non-equivalent_nor_entailing.
:non-equivalent_nor_entailing :disjP :extended-entailed_thing_or_equivalent;
:pP (:non-equivalent_type :non-equivalent_non-type_thing);
:sP :non-equivalent_nor_exclusive_things,
:strict_semantic_generalization_or_specialization,
:strict_extended_part_or_part-of, :contextualizing-or-negating_relation.
#each of these subtypes is specialized in a next (sub-)section
:non-equivalent_type :pP (:non-equivalent_property :non-equivalent_class).
:non-equivalent_property
:pP (owl:propertyDisjointWith :non-equivalent_nor_exclusive_property).
:non-equivalent_nor_exclusive_property
:eqP :neP, :not-disjoint_and_not-equivalent_class.
:non-equivalent_class
:pP (owl:disjointWith :non-equivalent_nor_exclusive_class);
:sP :non-equivalent_nor_subClassOf.
:non-equivalent_nor_exclusive_class :eqC :neC.
:non-equivalent_nor_subClassOf rdfs:domain rdfs:Class; rdfs:range rdfs:Class;
:disjP rdfs:subClassOf.
:non-equivalent_things
:pP (:non-equivalent_exclusive_things :non-equivalent_nor_exclusive_things).
:non-equivalent_exclusive_things :sP sub:counted-contextualizing-relation-types.
:counted-contextualizing-relation-types rdfs:domain rdf:Statement; rdfs:range :List;
:sP :mandatory-contextualizing-relation-types.
:non-equivalent_nor_exclusive_things :eqP :neTs;
:pP (:non-equivalent_nor_exclusive_types :non-equivalent_nor_exclusive_non-types).
:non-equivalent_nor_exclusive_types rdfs:domain :Type; rdfs:range :List;
:pP (:non-equivalent_nor_exclusive_classes :non-equivalent_nor_exclusive_properties).
:non-equivalent_nor_exclusive_classes rdfs:domain rdfs:Class; rdfs:range :List;
:eqP :neCs. #:neCs defined via SPARQL
:non-equivalent_nor_exclusive_properties rdfs:domain rdf:Property; rdfs:range :List;
:eqP :nePs. #:nePs defined via SPARQL
#************************ 1.2. Generalization, Specialization, Comparability And Definitions
:definition_or_semantic_generalization_or_specialization_or_comparability
:sP :semantic_generalization_or_equivalent,
:semantic_specialization_or_equivalent;
:pP (:object_not_known_to_be_comparable_or_uncomparable_via_extended-entailment
:object_known_to_be_comparable_or_uncomparable_via_extended-entailment);
:pP (:object_not_known_to_be_SUP-comparable-or-uncomparable_via_extended-entailment
:object_known_to_be_SUP-comparable-or-uncomparable_via_extended-entailment).
:semantic_generalization_or_equivalent
:pP (:equivalent :strict_semantic_generalization);
:cP (:type_or_equivalent :semantic_core-generalization_or_equivalent).
:strict_semantic_generalization
:eP (:type :strict_extended-entailed_thing). #specialized in the next subsection
:type owl:inverseOf :instance.
:type_or_equivalent :eqP rdf:type; #e.g.: owl:Class rdf:type owl:Class
:pP (:equivalent_type :type).
:semantic_core-generalization_or_equivalent :sP :extended-entailed_thing_or_equivalent.
:extended-entailed_thing_or_equivalent rdfs:label "==>"^^xsd:string;
:pP (:equivalent :strict_extended-entailed_thing);
:eP (:supertype_or_equivalent :entailed_statement_or_equivalent
:superIndividual_or_equivalent).
:supertype_or_equivalent :eqP :supertype;
:pP (:equivalent_type :strict_supertype);
:pP (:superProperty_or_equivalent :superClass_or_equivalent).
:superProperty_or_equivalent :eqP owl:subPropertyOf;
:pP (:equivalent_property :strict_superProperty).
:superClass_or_equivalent
:eqP rdfs:subClassOf; #e.g.: owl:Class rdfs:subClassOf owl:Class
:pP (:equivalent_class :strict_superClass).
:entailed_statement_or_equivalent rdfs:label "=>"^^xsd:string;
:pP (:equivalent_statement :strict_entailed_statement);
:sP :owl2_implication.
:superIndividual_or_equivalent
:pP (:equivalent_individual :strict_superIndividual).
:semantic_specialization_or_equivalent
owl:inverseOf :semantic_generalization_or_equivalent;
:pP (:equivalent :strict_semantic_specialization);
:sP :semantic_core-specialization_or_equivalent.
:strict_semantic_specialization :eP (:instance :strict_extended-entailed-by_thing).
:instance owl:inverseOf :type.
:semantic_core-specialization_or_equivalent
owl:inverseOf :semantic_core-generalization_or_equivalent;
:sP :extended-entailed-by_thing_or_equivalent.
:extended-entailed-by_thing_or_equivalent rdfs:label ">="^^xsd:string;
:pP (:equivalent :strict_extended-entailed-by_thing);
:eP (:entailed-by_statement_or_equivalent :subIndividual_or_equivalent
:subtype_or_equivalent :subtypes_or_equivalent-types).
:entailed-by_statement_or_equivalent
:pP (:equivalent_statement :strict_entailed-by_statement).
:subIndividual_or_equivalent
:pP (:equivalent_individual :strict_subIndividual).
:subtype_or_equivalent :eqP :subtype;
owl:inverseOf :supertype_or_equivalent;
:pP (:equivalent_type :strict_subtype);
:pP (:subProperty_or_equivalent :subClass_or_equivalent).
:subProperty_or_equivalent :eqP :subProperty :superPropertyOf;
owl:inverseOf :superProperty_or_equivalent;
:pP (:equivalent_property :strict_subProperty).
:subClass_or_equivalent :eqP :subClass, :superClassOf;
owl:inverseOf :superClass_or_equivalent;
:pP (:equivalent_class :strict_subClass).
:subtypes_or_equivalent-types rdfs:domain :Type; rdfs:range :List;
:sP :complete_set_of_subtypes, :strict_subtypes. #details in next subsection
:complete_set_of_subtypes
:pP (:complete_set_of_subClasses :complete_set_of_subProperties).
:complete_set_of_subClasses :eqP :uoC, owl:unionOf;
:sP :complete_set_of_strict_subClasses.
:complete_set_of_subProperties :eqP :uoP; #uoP defined via SPARQL
:sP :complete_set_of_strict_subProperties.
:object_known_to_be_comparable_or_uncomparable_via_extended-entailment
:eqP :object_known_to_be_comparable_or_uncomparable;
:pP (:comparable_via_extended-entailment
:not_known_to_be_comparable_or_uncomparable_via_extended-entailment
:uncomparable_via_extended-entailment);
:pP (:type_known_to_be_comparable_or_uncomparable
:non-type_known_to_be_comparable_or_uncomparable).
:comparable_via_extended-entailment
:pP (:equivalent :strict_generalization :strict_specialization);
:sP :comparable_class.
:comparable_class rdfs:domain rdfs:Class; rdfs:range rdfs:Class.
:uncomparable_via_extended-entailment
:pP (:extended-entailment_exclusion
:known_to_be_uncomparable_but_not_exclusive_via_extended-entailment);
:pP (:uncomparable_type :uncomparable_non-type).
:known_to_be_uncomparable_but_not_exclusive_via_extended-entailment
:sP :uncomparable_but_not_disjoint.
:uncomparable-but-not-disjoint_type rdfs:domain :Type; rdfs:range :Type;
:sP :uncomparable-but-not-disjoint_class.
:uncomparable-but-not-disjoint_class rdfs:domain rdfs:Class; rdfs:range rdfs:Class;
:disjP owl:disjointWith.
:uncomparable_type rdfs:domain :Type; rdfs:range :Type;
:sP :uncomparable_class.
:uncomparable_class rdfs:domain rdfs:Class; rdfs:range rdfs:Class;
:sP :uncomparable-but-not-disjoint_class.
:type_known_to_be_comparable_or_uncomparable rdfs:domain :Type; rdfs:range :Type;
:pP (:class_known_to_be_comparable_or_uncomparable
:property_known_to_be_comparable_or_uncomparable).
:class_known_to_be_comparable_or_uncomparable
rdfs:domain rdfs:Class; rdfs:range rdfs:Class.
:object_known_to_be_SUP-comparable-or-uncomparable_via_extended-entailment
:eqP :object_known_to_be_SUP-comparable_or_SUP-uncomparable;
:sP :object_known_to_be_comparable_or_uncomparable_via_extended-entailment;
:pP (:SUP-comparable_via_extended-entailment
:not_known_to_be_SUP-comparable-or-uncomparable_via_extended-entailment
:SUP-uncomparable_via_extended-entailment);
:pP (:type_known_to_be_SUP-comparable-or-uncomparable
:non-type_known_to_be_SUP-comparable-or-uncomparable).
:SUP-comparable_via_extended-entailment
:pP (:equivalent :strict_generalization);
:sP :SUP-comparable_class, :comparable_via_extended-entailment.
:SUP-comparable_class rdfs:domain rdfs:Class; rdfs:range rdfs:Class.
:SUP-uncomparable_via_extended-entailment
:pP (:SUP-uncomparable_type :SUP-uncomparable_non-type);
:sP :uncomparable_via_extended-entailment .
:SUP-uncomparable_type rdfs:domain :Type; rdfs:range :Type;
:sP :SUP-uncomparable_class.
:SUP-uncomparable_class rdfs:domain rdfs:Class; rdfs:range rdfs:Class;
:eqP :non-equivalent_class_nor_subClassOf;
:sP :SUP-uncomparable-but-not-disjoint_class.
:type_known_to_be_SUP-comparable-or-uncomparable rdfs:domain :Type; rdfs:range :Type;
:pP (:class_known_to_be_SUP-comparable-or-uncomparable
:property_known_to_be_comparable_or_uncomparable).
:class_known_to_be_SUP-comparable-or-uncomparable
rdfs:domain rdfs:Class; rdfs:range rdfs:Class;
:eqP :class_known_to_be_SUP-comparable_or_exclusive_or_SUP-uncomparable.
:definition :cP (:extended-entailed-by_thing_or_equivalent
:extended-entailed_thing_or_equivalent).
#a full definition of a statement is equivalent to this statement
#======================== 1.2.1. Strict Generalization And Specialization
:strict_generalization_or_specialization
:pP (:strict_semantic_generalization :strict_semantic_specialization).
:strict_semantic_generalization
:sP :strict_extended-entailed_thing.
:strict_extended-entailed_thing
:eP (:strict_entailed_statement :strict_superIndividual :strict_supertype).
:strict_entailed_statement rdfs:domain :Statement; rdfs:range :Statement.
:strict_superIndividual rdfs:domain :Individual; rdfs:range :Individual.
:strict_supertype rdfs:domain :Type; rdfs:range :Type;
:pP (:strict_superProperty :strict_superClass).
:strict_superProperty rdfs:domain rdf:Property; rdfs:range rdf:Property;
:eqP :proper-subPropertyOf.
:strict_superClass :eqP :proper-subClassOf.
:strict_semantic_specialization owl:inverseOf :strict_generalization;
:sP :strict_extended-entailed-by_thing.
:strict_extended-entailed-by_thing owl:inverseOf :strict_extended-entailed_thing;
:eP (:strict_entailed-by_statement :strict_subIndividual :strict_subtype
:strict_subtypes).
:strict_entailed-by_statement rdfs:domain :Statement; rdfs:range :Statement;
owl:inverseOf :strict_entailed_statement.
:strict_subIndividual owl:inverseOf :strict_superIndividual.
:strict_subtype rdfs:domain :Type; rdfs:range :Type;
owl:inverseOf :strict_supertype;
:pP (:strict_subProperty :strict_subClass); :sP :s, :s_.
:strict_subProperty rdfs:domain rdf:Property; rdfs:range rdf:Property;
:sP :sP, :sP_. #sP defined via SPARQL
:strict_subClass :eqP :proper-subClass;
:sP :sC, :sC_. #sC et sC_ defined via SPARQL
:s rdfs:domain :Type; rdfs:range :Type; :pP (:sP :sC).
:s_ :eqP :strict_subtype_uncomparable_but_not_disjoint_to_its_siblings;
rdfs:domain :Type; rdfs:range :Type; :pP (:sP_ :sC_).
:sP_ rdfs:domain rdf:Property; rdfs:range rdf:Property.
:sC_ :eqP
:proper-superClassOf_a-subclass-uncomparable-but-not-disjoint-with-its-siblings.
:strict_subtypes rdfs:domain :Type; rdfs:range rdf:List;
:pP (:strict_subProperties :strict_subClasses);
:sP :exclusive_strict_subtypes, :complete_set_of_strict_subtypes.
:strict_subProperties rdfs:domain rdf:Property; rdfs:range rdf:List;
:sP :exclusive_strict_subProperties, :complete_set_of_strict_subProperties.
:exclusive_strict_subProperties :eqP :eP;
:pP (:property_partition :incomplete_set_of_exclusive_subProperties).
:property_partition :eqP :pP. #pP defined via SPARQL
:incomplete_set_of_exclusive_subProperties :eqP :eP. #eP defined via SPARQL
:complete_set_of_strict_subProperties
:pP (:property_partition
:complete_set_of_non-exclusive_strict_subProperties).
:complete_set_of_non-exclusive_strict_subProperties
:eqP :cP. #cP defined via SPARQL
:strict_subClasses rdfs:domain rdfs:Class; rdfs:range rdf:List;
:sP :exclusive_strict_subClasses, :complete_set_of_strict_subClasses.
:exclusive_strict_subClasses
:pP (:class_partition :incomplete_set_of_exclusive_subClasses).
:class_partition :eqP owl:disjointUnionOf, :pC. #pC
:incomplete_set_of_exclusive_subClasses
:eqP :eC; #eC defined via SPARQL
:complete_set_of_strict_subClasses
:pP (:class_partition :complete_set_of_non-exclusive_strict_subClasses).
:complete_set_of_non-exclusive_strict_subClasses
:eqP :cC. #cC (:sP of owl:unionOf)
:exclusive_strict_subtypes
:pP (:exclusive_strict_subProperties :exclusive_strict_subclasses).
:complete_set_of_strict_subtypes
:pP (:complete_set_of_strict_subProperties :complete_set_of_strict_subClasses).
#************************ 1.3. Parts, Members and Their Inverses
:extended_part_or_part-of :type owl:TransitiveProperty;
:pP (:equivalent :strict_extended_part_or_part-of);
:pP (:extended_part_or_part-of_directly_between_individuals
:extended_part_or_part-of_between_types_but_for_their_instances);
:sP :extended_part, :extended_part-of;
:pP (:object_not_known_to_be_comparable-or-uncomparable_via_part
:object_known_to_be_comparable-or-uncomparable_via_part);
:pP (:object_not_known_to_be_c_comparable-or-uncomparable_via_part
:object_known_to_be_c_comparable-or-uncomparable_via_part).
:extended_part_or_part-of_between_types_but_for_their_instances
rdfs:domain :Type; rdfs:range :Type;
:sP :part_or_part-of_between_types_but_for_their_instances.
:part_or_part-of_between_types_but_for_their_instances
:cP (:part_between_types_but_for_their_instances
:part-of_between_types_but_for_their_instances).
:extended_part :pP (:equivalent :strict_extended_part-of);
:eP (:member_or_equivalent :part_or_equivalent :c_part_or_equivalent).
:member_or_equivalent :pP (:equivalent :member).
:part_or_equivalent :eqP :part; :pP (:equivalent :strict_part).
:c_part_or_equivalent :pP (:eqP :c_part).
:extended_part-of owl:inverseOf :part-of_or_equivalent;
:pP (:equivalent :strict_extended_part-of).
:object_known_to_be_comparable-or-uncomparable_via_part
:eqP :object_known_to_be_part-comparable-or-uncomparable;
:pP (:comparable_via_part :uncomparable_via_part).
:comparable_via_part :pP (owl:sameAs :part :part_of).
:uncomparable_via_part
:pP (:part_exclusion :part-uncomparable_but_not_part-exclusive).
:object_known_to_be_c_comparable-or-uncomparable_via_part
:eqP :object_known_to_be_c_part-comparable-or-uncomparable;
:pP (:comparable_via_c_part :uncomparable_via_c_part).
:comparable_via_c_part :pP (:eqC :c_part :c_part_of).
:uncomparable_via_c_part
:pP (:c_part_exclusion :c_part-uncomparable_but_not_part-exclusive).
#======================== 1.3.1. Strict Parts/Members and Their Inverses
:strict_extended_part_or_part-of
:sP :strict_extended_part, :strict_extended_part-of.
:strict_extended_part
:sP :strict_part, :part_between_types_but_for_their_instances,
:member, :extended-entailment_element, :extended-reverse-entailment_element,
:definition-element, :part-exclusive_parts, :c_part-exclusive_parts,
:complete_set_of_parts, :c_complete_set_of_parts.
:strict_part :eqP :part; :sP :sPart. #sPart defined via SPARQL
:part_between_types_but_for_their_instances :eqP :c_part; #c_part defined via SPARQL
:sP :c_sPart. #c_sPart defined via SPARQL
:member
:sP :statement_member.
:statement_member rdfs:domain :Statement;
:sP :definition_member, :relation_member.
:definition_member :sP :definition_member_via_OWL. #see Section 3
:relation_member rdfs:domain :Statement; #just another example
:sP :relation_type.
:relation_type :sP :relation_type_of_an_RDF_reified_statement.
:relation_type_of_an_RDF_reified_statement :eqP rdf:predicate.
:extended-entailment_element rdfs:label "==>-element"^^xsd:string;
:pP (:entailment_element :NC-definition_element).
:entailment_element rdfs:label "=>-element"^^xsd:string;
rdfs:domain :Statement; rdfs:range :Statement;
:sP :equivalent_statement_element.
:equivalent_statement_element rdfs:label "<=>-element"^^xsd:string.
:NC-definition_element :sP :NSC-definition_element.
:extended-reverse-entailment_element rdfs:label "<==-element";
:pP (:reverse-entailment_element :SC-definition_element).
:reverse-entailment_element rdfs:label "<=-element"^^xsd:string;
rdfs:domain :Statement; rdfs:range :Statement;
:sP :equivalence_element.
:SC-definition_element :sP :NSC-definition_element.
:definition-element :type owl:TransitiveProperty;
:cP (:NC-definition_element :SC-definition_element);
:pP (:def_necessary-element :def_non-necessary_element);
:sP :definition-element_via_OWL. #defined in Section 2
:part-exclusive_parts rdfs:domain :Individual; rdfs:range rdf:List;
:eqP :non-overlapping_parts;
:pP (:part_partition :incomplete_set_of_part-exclusive_parts).
:part_partition :eqP :partPartition, :pParts. #:pParts defined via SPARQL
:incomplete_set_of_part-exclusive_parts :eqP :eParts. #:eParts defined via SPARQL
:c_part-exclusive_parts rdfs:domain :Type; rdfs:range rdf:List;
:pP (:c_part_partition :incomplete_set_of_part-exclusive_parts).
:c_part_partition :eqP :c_pParts. #:c_pParts defined via SPARQL
:incomplete_set_of_part-exclusive_parts :eqP :c_eParts. #:c_eParts defined via SPARQL
:complete_set_of_parts rdfs:domain :Individual; rdfs:range rdf:List;
:pP (:part_partition :complete_set_of_non-part-exclusive_parts).
:complete_set_of_non-part-exclusive_parts :eqP :cParts. #:cParts defined via SPARQL
:c_complete_set_of_parts rdfs:domain :Type; rdfs:range rdf:List;
:pP (:c_part_partition :complete_set_of_c_non-part-exclusive_parts).
:complete_set_of_c_non-part-exclusive_parts :eqP :c_cParts.#:c_cParts defined in SPARQL
:strict_extended_part-of
:sP :strict_part-of, :part-of_between_types_but_for_their_instances,
:elementOf-extended-entailment, :elementOf-extended-reverse-entailment.
:strict_part-of :eqP :part_of, :partOf, :superPart; owl:inverseOf :strict_part.
:part-of_between_types_but_for_their_instances
:eqP :c_part_of, :c_partOf. #defined via SPARQL
:elementOf-extended-entailment rdfs:label "elementOf-==>"^^xsd:string;
:pP (:elementOf-entailment :elementOf_NC-definition).
:elementOf-entailment rdfs:label "elementOf-=>"^^xsd:string;
rdfs:domain :Statement; rdfs:range :Statement;
:sP :elementOf-equivalent-statement.
:elementOf-NC-definition owl:inverseOf :NC-definition-element.
:elementOf-extended-reverse-entailment rdfs:label "elementOf-<=="^^xsd:string;
:pP (:elementOf-reverse-entailment :elementOf_SC-definition).
:elementOf-reverse-entailment rdfs:label "elementOf-<="^^xsd:string;
rdfs:domain :Statement; rdfs:range :Statement;
:sP :elementOf-equivalent-statement.
:elementOf-SC-definition owl:inverseOf :SC-definition-element.
#************************ 1.4. Contextualizing Or Negating Relations
:contextualizing-or-negating_relation
:pP (:statement_contextualizing-or-negating_relation
:non-statement_contextualizing-or-negating_relation);
:pP (:pure_contextualizing_relation :extended_negation).
:statement_contextualizing-or-negating_relation :eqP :aboutness-relation;
:sP sub#statement_contextualizing-or-negating_binary-relation.
sub#statement_contextualizing-or-negating_binary-relation :eqP :contextualization.
:pure_contextualizing_relation :sP :time.
:extended_negation rdfs:label "!"^^xsd:string; :sP :exclusion;
:pP (:statement_negation :non-statement_negation).
:statement_negation :eqP :negation.
:exclusion
:sP :extended-entailment_exclusion, :propertySymmetricNegationOrExclusion,
:extended-part_exclusion, :extended-part-of_exclusion, :type_exclusion.
:extended-entailment_exclusion rdfs:label "==>!"^^xsd:string;
:propertySymmetricNegation :extended-entailed_thing_or_equivalent;
:eP (:disjoint_type :exclusive_non-type_thing).
:disjoint_type rdfs:domain :Type; rdfs:range :Type;
:pP (:disjoint_class :disjoint_property).
:disjoint_class :eqP owl:disjointWith, :disjC.
:disjoint_property :eqP owl:propertyDisjointWith, :disjP;
:sP :propertySymmetricNegation.
:propertySymmetricNegation :sP :propertyFullExclusion. #defined via SPARQL
:propertySymmetricNegationOrExclusion
:sP :propertySymmetricNegation, :propertySymmetricExclusion.
:propertySymmetricExclusion :sP :propertyFullExclusion.
:extended-part_exclusion
:sP :extended-entailment-element_exclusion,
:extended-reverse-entailment-element_exclusion, :definition-element_exclusion,
:part_exclusion, :c_part_exclusion.
:extended-entailment-element_exclusion rdfs:label "==>-element_exclusion"^^xsd:string;
:propertyFullExclusion :extended-entailment_element;
:sP :entailment-element_exclusion.
:entailment-element_exclusion rdfs:label "=>-element_exclusion"^^xsd:string;
:propertyFullExclusion :entailment_element;
:sP :equivalent-statement-element_exclusion.
:equivalent-statement-element_exclusion
rdfs:label "<=>-element_exclusion"^^xsd:string;
:propertyFullExclusion :equivalent-statement_element.
:extended-reverse-entailment-element_exclusion
rdfs:label "<==-element_exclusion"^^xsd:string;
:propertyFullExclusion :extended-reverse-entailment_element;
:sP :reverse-entailment-element_exclusion.
:reverse-entailment-element_exclusion
rdfs:label "<=-element_exclusion"^^xsd:string;
:propertyFullExclusion :reverse-entailment_element;
:sP :equivalent-statement-element_exclusion.
:definition-element_exclusion
:cP (:NC-definition-element_exclusion :SC-definition-element_exclusion);
:pP (:def_necessary-element_exclusion :def_non-necessary_element_exclusion).
:NC-definition-element_exclusion :propertyFullExclusion :NC-definition-element.
:SC-definition-element_exclusion :propertyFullExclusion :SC-definition-element.
:def_necessary-element_exclusion :propertyFullExclusion :def_necessary-element.
:def_non-necessary_element_exclusion :propertyFullExclusion :def_non-necessary_element.
:part_exclusion rdfs:domain :Individual; rdfs:range :Individual;
:eqP :part-disjointWith; :propertySymmetricNegation :part.
:c_part_exclusion rdfs:domain :Type; rdfs:range :Type; #defined via SPARQL
:propertySymmetricNegation :c_part.
:extended-part-of_exclusion
:sP :elementOf-extended-reverse-entailment_exclusion,
:elementOf-extended-entailment_exclusion.
:elementOf-extended-reverse-entailment_exclusion
rdfs:label "elementOf-<==_exclusion"^^xsd:string;
:propertyFullExclusion :elementOf-extended-reverse-entailment_exclusion.
:elementOf-extended-entailment_exclusion
rdfs:label "elementOf-==>_exclusion"^^xsd:string;
:propertyFullExclusion :elementOf-extended-entailment_exclusion.
:type_exclusion :propertyFullExclusion :type_or_equivalent.
#@@@@@@@@@@@@@@@@@@@@@@@@ 2. Definition Members In OWL
:definition_element_via_OWL :pP (:class-definition_element :datatype-definition_element
:property-definition_element :instance-definition_element).
:class-definition_element
:sP :proper-subClassOf, owl:complementOf ,
:class-def_union_part, :class-def_intersection_part,
:class-def_onProperty_part, :class-def_onClass_part,
:class-def_someValuesFrom_part, :class-def_allValuesFrom_part,
:class-def_hasValue_part, :class-def_hasSelf_part, :class-def_oneOf_part,
:class-def_cardinality_part, :class-def_minCardinality_part,
:class-def_maxCardinality_part,
:class-def_qCardinality_part, :class-def_minqCard_part, :class-def_maxqCard_part.
:class-def_union_part owl:propertyChainAxiom (rdfs:subClassOf owl:unionOf).
:class-def_intersection_part owl:propertyChainAxiom (rdfs:subClassOf owl:intersectionOf).
:class-def_onProperty_part owl:propertyChainAxiom (rdfs:subClassOf owl:onProperty ).
:class-def_onClass_part owl:propertyChainAxiom (rdfs:subClassOf owl:onClass ).
:class-def_someValuesFrom_part owl:propertyChainAxiom (rdfs:subClassOf owl:someValuesFrom).
:class-def_allValuesFrom_part owl:propertyChainAxiom (rdfs:subClassOf owl:allValuesFrom ).
:class-def_hasValue_part owl:propertyChainAxiom (rdfs:subClassOf owl:hasValue ).
:class-def_hasSelf_part owl:propertyChainAxiom (rdfs:subClassOf owl:hasSelf ).
:class-def_oneOf_part owl:propertyChainAxiom (rdfs:subClassOf owl:oneOf ).
:class-def_cardinality_part owl:propertyChainAxiom ( rdfs:subClassOf owl:cardinality ).
:class-def_minCardinality_part owl:propertyChainAxiom (rdfs:subClassOf owl:minCardinality).
:class-def_maxCardinality_part owl:propertyChainAxiom (rdfs:subClassOf owl:maxCardinality).
:class-def_qCardinality_part owl:propertyChainAxiom (rdfs:subClassOf owl:qualifiedCardinality).
:class-def_minqCard_part owl:propertyChainAxiom (rdfs:subClassOf owl:minQualifiedCardinality).
:class-def_maxqCard_part owl:propertyChainAxiom (rdfs:subClassOf owl:maxQualifiedCardinality).
:datatype-definition_element :sP :datatype-def_minRestr_part, :datatype-def_maxRestr_part.
:datatype-def_minRestr_part owl:propertyChainAxiom ( owl:withRestrictions xsd:minInclusive ).
:datatype-def_maxRestr_part owl:propertyChainAxiom ( owl:withRestrictions xsd:maxInclusive ).
:property-definition_element
:sP :proper-subPropertyOf, owl:inverseOf, rdfs:domain, rdfs:range,
:chain_member1, :chain_member2, :chain_member3. #and so on, as many as needed
:chain_member1 owl:propertyChainAxiom (owl:propertyChainAxiom rdf:first).
:chain_member2 owl:propertyChainAxiom (owl:propertyChainAxiom rdf:rest rdf:first).
:chain_member3 owl:propertyChainAxiom (owl:propertyChainAxiom rdf:rest rdf:rest rdf:first).
:instance-definition_element :sP :instance, owl:hasKey.
:instance owl:inverseOf :type.
#@@@@@@@@@@@@@@@@@@@@@@@@ 3. Some Relation Types Equivalent To Some CN Queries:
#Each of the following sub-sections has a title which mentions a specification via CN (with
# the notation used in the article about "Ontology Intrinsic Completeness".
#For each of these specifications, there exists a relation type that generalizes
# all the types of the checked relations. In each sub-section this type is given.
#************************ 3.1. For "{==>, <==>}" As Second Parameter:
#With the notation used in the article:
# - CN({every owl:Thing}, {==>, <==>}) checks that every object in the evaluated KB
# is sub:object_known_to_be_comparable_or_uncomparable to every object in this KB.
# - CN({every rdfs:Class}, {rdfs:subClassOf, owl:equivalentClass, owl:sameAs}) checks that
# every class in the KB is sub#class_known_to_be_comparable_or_uncomparable to
# every object in this KB.
# - CN({every owl:Thing}, {==>, <==>},{"every object to some other object"}) checks that
# every object is sub:object_known_to_be_SUP-comparable-or-SUP-uncomparable toentpro
# some other object in this KB.
# - CN({every rdfs:Class}, {rdfs:subClassOf, owl:equivalentClass, owl:sameAs},
# {"every object to some other object"}) checks that
# every class is sub:class_known_to_be_SUP-comparable-or-SUP-uncomparable
# some other object in this KB.