format-version: 1.2 date: 21:01:2009 15:19 saved-by: wablo remark: Metarel is a meta-ontology that gives a logical classification of relations in ontologies, not considering the semantics of relations. The ontology format should consist of labeled nodes and labeled arrows between the nodes. These nodes can represent either classes or instances. The collection of all the arrows from a certain source-node to a certain target-node, is called a multi-arrow. The classification of the multi-arrows results in a role hierarchy, of which the classes are relation types. This classification is under 'related_to'. A meta-classification of relation types results in the relation type classification. This classification is under 'relation_type'. Under 'composite' are constructs for the annotation of relation type compositions. [Term] id: METAREL:0000001 name: is related to def: "'Is related to' is the root term in the relation multi-arrow classification. This classification corresponds with a role hierarchy in Description Logics. A relation multi-arrow is the collection of all the relation arrows that start in the same source-term and end in the same target-term. Hence, between two terms, there can be at most two relation multi-arrows, one per direction. \nA class of multi-arrows is a relation type. 'Is related to' is the name of such a class. A multi-arrow can be an instance of different relation types. Every instanciation of a relation type by the multi-arrow corresponds with a relation arrow. \nThe relation arrows are the asserted and visualised elements in ontologies. They are arrows that bear a label with the name of their corresponding relation type. In good ontologies often only one relation arrow, or none at all, are asserted per multi-arrow. 'Is related to' would not be asserted in a good ontology, although much multi-arrows can contain an arrow with the name of the relation type 'is related to'." [METAREL:wb] [Term] id: METAREL:0000002 name: relation type def: "A relation type is a class of relation multi-arrows. Such a class can have properties like transitivity, symmetry, reflexivity, invertibility, compositionality with other relation types, and more. The relation types are instances in the relation type classification, and are classified on such properties. Hence, the class named 'relation type' is a meta-class, being a class of classes. All the subclasses of 'relation type' are also meta-classes." [METAREL:wb] [Term] id: METAREL:0000003 name: composite def: "Three relation types r1, r2 and r3 (not necessarily all different) form a composite r1_r2_r3 if for all the triples of nodes a, b, c (all different) for which there is an arrow from a to b with the name of r1 and an arrow from b to c with the name of r2, there is also an arrow from a to c with the name of r3." [METAREL:wb] is_a: METAREL:0000019 ! composite construct [Term] id: METAREL:0000004 name: is class related to def: "A relation multi-arrow between two classes is an 'is class related to', if the multi-arrow is an instance of any class relation type.\n" [METAREL:wb] xref: OBO_REL:relationship is_a: METAREL:0000001 ! is related to disjoint_from: METAREL:0000005 ! is instance-class related to disjoint_from: METAREL:0000006 ! is instance related to [Term] id: METAREL:0000005 name: is instance-class related to def: "A relation multi-arrow from an instance to a class is an 'is instance-class related to', if the multi-arrow is an instance of any instance-class relation type." [METAREL:wb] is_a: METAREL:0000001 ! is related to disjoint_from: METAREL:0000004 ! is class related to disjoint_from: METAREL:0000006 ! is instance related to [Term] id: METAREL:0000006 name: is instance related to def: "A relation multi-arrow between two instances is an 'is instance related to', if the multi-arrow is an instance of any instance relation type." [METAREL:wb] is_a: METAREL:0000001 ! is related to disjoint_from: METAREL:0000004 ! is class related to disjoint_from: METAREL:0000005 ! is instance-class related to [Term] id: METAREL:0000007 name: class relation type def: "Any relation type of which all the multi-arrows are between two classes is a class relation type." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Term] id: METAREL:0000008 name: instance-class relation type def: "Any relation type of which all the multi-arrows are from an instance to a class is an instance-class relation type." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Term] id: METAREL:0000009 name: instance relation type def: "Any relation type of which all the multi-arrows are between two instances is an instance relation type." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Term] id: METAREL:0000010 name: interchangeable complex composite def: "The first, the second and the resulting relation type are all different. If the first and the second relation type change their positions, it still gives the same resulting relation type. E.g. 'is father of' + 'is grandfather of' results in 'is great-grandfather of'. In DL notation: R o S < T or S o R < T." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000011 name: interchangeable priority composite def: "The resulting relation type is the same as the first or the second relation type, but the first and the second are different. If the first and the second relation type change their positions, it still gives the same resulting relation type. E.g. 'is part of' + 'is a' results in 'is part of' In DL notation: R o S < R or S o R < R." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000012 name: fixed complex composite def: "The first, the second and the resulting relation type are all different.\nIf the first and the second relation type change their positions, then it\ndoes not give the same resulting relation type any longer. E.g. 'is brother of' + 'is father of' results in 'is uncle of'. In DL notation: R o S < T." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000013 name: fixed priority composite def: "The resulting relation type is the same as the second relation type, but different from the first relation type. If the first and the second relation type change their positions, then it\ndoes not give the same resulting relation type any longer. E.g. 'is sibling of' + 'is child of' results in 'is child of'. In DL notation: R o S < S." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000014 name: transitivity composite def: "The first, the second and the resulting relation type are all the same for a transitive composite, so this relation type is transitive. E.g. 'is ancestor of' + 'is ancestor of' results in 'is ancestor of'. In DL notation: R o R < R." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000015 name: twin composite def: "The first and the second relation type are the same for a twin composite, but they differ from the resulting relation type E.g. 'is father of' + 'is father of' results in 'is grandfather of'. In DL notation: R o R < S." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000016 name: is instance of def: "'Is instance of' is an instance-class relation type. For an instance i and a class A holds: 'i is instance of A' if i is an instance of the class A. In an ontology, classes are used to classify instances on the basis of properties the instances have. If an instance has the properties as defined by a class, than the instance is an instance of the class." [METAREL:wb] synonym: "instance of" EXACT [] xref: OBO_REL:instance_of is_a: METAREL:0000005 ! is instance-class related to relationship: type_instance_of METAREL:0000008 ! instance-class relation type [Term] id: METAREL:0000017 name: is a def: "'Is a' is a class relation type. A class A is a class B if and only if every instance of class A is also an instance of class B." [METAREL:wb] synonym: "Is a" EXACT [] synonym: "is_a" EXACT [] xref: OBO_REL:is_a xref: owl:subClassOf is_a: METAREL:0000004 ! is class related to relationship: class_level_constructed_from METAREL:0000037 ! is same as relationship: type_instance_of METAREL:0000021 ! pure class relation type relationship: type_instance_of METAREL:0000023 ! reflexive relation type relationship: type_instance_of METAREL:0000024 ! transitive relation type [Term] id: METAREL:0000018 name: is disjoint from def: "'Is disjoint from' is a class relation type holding between any two disjoint classes. Two classes are disjoint if and only if they do not have any instance in common." [METAREL:wb] synonym: "disjoint from" EXACT [] is_a: METAREL:0000004 ! is class related to relationship: class_level_constructed_from METAREL:0000038 ! is different from relationship: type_instance_of METAREL:0000021 ! pure class relation type [Term] id: METAREL:0000019 name: composite construct def: "A composite construct is used to build role inclusion axioms (RIA). E.g. the first relation 'is brother of' and the second relation 'is father of' result in 'is uncle of'." [METAREL:wb] [Term] id: METAREL:0000020 name: role based class relation type def: "A role based class relation type is a class relation type of which the relation arrows represent one synthesized statement derived from the instance relation arrows of the corresponding instance relation type. E.g. if all the instances of the class 'leg' are part of one (or more) instances of the class 'body', we can derive the role based class relation arrow 'leg is part of body'. " [METAREL:wb] is_a: METAREL:0000007 ! class relation type [Term] id: METAREL:0000021 name: pure class relation type def: "A pure class relation type is a class relation type of which the relation arrows are not a synthesis of corresponding instance relation arrows. The relation arrows of a pure class relation type express statements about properties of the two involved classes, that are not inherited by the instances of the classes. E.g disjointness and union are properties of classes, not of instances. If something like has_more_instances_than would be a relation type, it would be a pure class relation type too." [METAREL:wb] is_a: METAREL:0000007 ! class relation type [Term] id: METAREL:0000022 name: composite entailing construct def: "A composite entailing construct entails many composites of the same type, being one of the seven composite types, from 'fixed complex composite' to 'twin composite'. It does so by relating three metaclasses of relation type, which can also be singleton metaclasses with only one relation type. It relates to the metaclasses with 'has first relation', 'has second relation' and 'has resulting relation', which deliver respectively the first relation types, the second relation types and the resulting relation types. It relates to the composite type with 'entails', which restricts the possible combinations of relation types by the definition of the composite type. " [] is_a: METAREL:0000019 ! composite construct [Term] id: METAREL:0000023 name: reflexive relation type def: "A relation type R is a reflexive relation type when A R A applies for all A in the domain of R." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Term] id: METAREL:0000024 name: transitive relation type def: "A relation type R is a transitive relation type when A R B and B R C implies A R C, for all A,B and C in the domain of R." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Term] id: METAREL:0000025 name: transitivity construct def: "Every transitive relation type forms a transitivity_composite by occuring as the first relation type, the second relation type and the resulting relation type of the composite." [] is_a: METAREL:0000022 ! composite entailing construct relationship: entails METAREL:0000014 ! transitivity composite relationship: first_relation METAREL:0000024 ! transitive relation type relationship: resulting_relation METAREL:0000024 ! transitive relation type relationship: second_relation METAREL:0000024 ! transitive relation type [Term] id: METAREL:0000026 name: all-some relation type def: "An all-some relation type is a role-based class relation type of which all the relation arrows should be total and are allowed to be not surjective. A class relation arrow is total if all the instances of the source class have at least one corresponding instance relation arrow to the target class. It is surjective if all the instances from the target class recieve at least one corresponding instance relation arrow from the source class. E.g. 'tusk is part of animal' is a total arrow as every tusk is part of an animal. 'Animal has part tusk' is not total and therefore not allowed for an all-some relation type." [METAREL:wb] is_a: METAREL:0000020 ! role based class relation type [Term] id: METAREL:0000027 name: invertible relation type def: "An invertible relation type is a role-based class relation type of which all the class relation arrows should be total and surjective. A class relation arrow is total and surjective if there starts at least one corresponding instance relation arrow for every instance in the source class and if there arrives at least one corresponding instance relation arrow for every instance in the target class. E.g. 'tusk is integral part of elephant' is a total and surjective class relation arrow as every tusk is part of an elephant and for every elephant there is a tusk which is a part of the elephant. " [METAREL:wb] comment: A consequent name for 'invertible relation type' could be 'all-all relation type'. is_a: METAREL:0000020 ! role based class relation type [Term] id: METAREL:0000028 name: some-some relation type def: "A some-some relation type is a role-based class relation type of which all the relation arrows are allowed to be not total and are allowed to be not surjective. A class relation arrow is total if all the instances of the source class have at least one corresponding instance relation arrow to the target class. It is surjective if all the instances from the target class recieve at least one corresponding instance relation arrow from the source class. E.g. 'human eats pig' is a some-some relation arrow as some people do not eat pork, and not all pigs are cattle." [METAREL:wb] comment: The some-some relation type should be avoided in a good ontology design. is_a: METAREL:0000020 ! role based class relation type [Term] id: METAREL:0000029 name: all-some is-a construct def: "Every all-some relation type has priority over the 'is a' relation type. 'Is part of' + 'is a' results in 'is part of'. 'Is a' + 'is part of' also results in 'is pa'Is related to'rt of'. E.g. beard 'is part of' man 'is a' human ==> beard 'is part of' human." [METAREL:wb] is_a: METAREL:0000022 ! composite entailing construct relationship: entails METAREL:0000011 ! interchangeable priority composite relationship: first_relation METAREL:0000017 ! is a relationship: resulting_relation METAREL:0000026 ! all-some relation type relationship: second_relation METAREL:0000026 ! all-some relation type [Term] id: METAREL:0000030 name: role def: "A role is an instance relation type that can only be asserted and validated by someone who has real world knowledge. It does not follow from logical definitions that relate to the knowledge base itself, but it models the reality with its exceptions." [METAREL:wb] is_a: METAREL:0000009 ! instance relation type [Term] id: METAREL:0000031 name: instance domain relation type def: "An instance domain relation type is an derivable instance relation type that is fully defined for an automatic reasoner by a domain and a range. E.g. if the instance domain relation type continuant_occurrent_instance_related_to is defined by the domain continuant and the range occurrent, than every continuant is continuant_occurrent_class_related_to every occurrent." [METAREL:wb] is_a: METAREL:0000033 ! derivable instance relation type [Term] id: METAREL:0000032 name: class domain relation type def: "A class domain relation type is a class relation type that is fully defined for an automatic reasoner by a domain and a range. E.g. if the class domain relation type 'is continuant-occurrent class related to' is defined by the domain continuant and the range occurrent, than every subclass of continuant 'is continuant-occurrent class related to' every subclass of occurrent." [METAREL:wb] is_a: METAREL:0000007 ! class relation type [Term] id: METAREL:0000033 name: derivable instance relation type def: "A derivable instance relation type is an instance relation type that is fully defined for an automatic reasoner. You do not need any real world knowledge to derive or validate the relation arrows." [METAREL:wb] is_a: METAREL:0000009 ! instance relation type [Term] id: METAREL:0000034 name: reflex relation type def: "A reflex relation type is a derivable instance relation type that is derivable by an automatic reasoner if it knows only whether the source and the target instance are the same or not." [METAREL:wb] is_a: METAREL:0000033 ! derivable instance relation type [Term] id: METAREL:0000037 name: is same as def: "'Is same as' is an instance relation type which holds between any instance and itself, but not between two different instances." [METAREL:wb] synonym: "same as" EXACT [] is_a: METAREL:0000006 ! is instance related to relationship: type_instance_of METAREL:0000023 ! reflexive relation type relationship: type_instance_of METAREL:0000024 ! transitive relation type relationship: type_instance_of METAREL:0000034 ! reflex relation type [Term] id: METAREL:0000038 name: is different from def: "'Is different from' is an instance relation type holding between any two instances, but not between an instance and itself." [METAREL:wb] is_a: METAREL:0000006 ! is instance related to relationship: type_instance_of METAREL:0000034 ! reflex relation type [Term] id: METAREL:0000039 name: transitive-over composite def: "The resulting relation type is the same as the first relation type, but different from the second relation type. If the first and the second relation type change their positions, then it\ndoes not give the same resulting relation type any longer. E.g. 'is brohter of' + 'is sister of' results in 'is brother of'. In DL notation: R o S < R." [METAREL:wb] is_a: METAREL:0000003 ! composite [Term] id: METAREL:0000040 name: relevant relation type def: "A relevant relation type is a relation type that users of a knowledge base might need in their queries or in answers on queries. E.g. 'is related to' is not a relevant relation type." [METAREL:wb] is_a: METAREL:0000002 ! relation type [Typedef] id: class_level_constructed_from name: is class level constructed from def: "A role-based class relation type is class level constructed from the corresponding instance relation type on which it is based. E.g. 'is part of' (like in 'leg is part of body') is class level constructed from the instance-'is part of' (like in 'Belgium is part of Europe')." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: class_related_to name: is class related to is_a: related_to ! is related to [Typedef] id: entails name: entails def: "A composite entailing construct entails composites of a certain type." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: first_relation name: has first relation def: "'Has first relation' is a metarelation that relates a composite with a relation type. Consider the composite R_S_T, and the relation types R, S and T imply: if A is R-related to B and B is S-related to C, than A is T-related to C. Than R_S_T has first relation R." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: has_transitive_closure name: has transitive closure def: "'Has transitive closure' is a metarelation between two relation types. A relation type R is the transitive closure of a relation type S if and only if \nR is transitive, \nS is a R, \nthere is no transitive relation type T, other than R, for which S is a T is a R. \nThen we have S has transitive closure R." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: METAREL:inverse_of name: is inverse of def: "Relation type A is the inverse of relation type B if for every relation multi-arrow that is an instance of A, the relation multi-arrow in the opposite direction is an instance of B." [METAREL:wb] synonym: "inverse of" EXACT [] is_a: metarelated_to ! is metarelated to [Typedef] id: metarelated_to name: is metarelated to def: "An 'is metarelated to' is a construct that relates relation types (the instances of the relation type classification), that have logic connections with each other." [METAREL:wb] [Typedef] id: related_to name: is related to [Typedef] id: relational_disjoint_from name: is disjoint from def: "Relation type A is disjoint from relation type B if for every relation multi-arrow that is an instance of A, the relation multi-arrow is not an instance of B." [METAREL:wb] synonym: "disjoint from" BROAD [METAREL:0000018] is_a: metarelated_to ! is metarelated to [Typedef] id: relational_is_a name: is a def: "Relation type A relational is a relation type B if for every relation multi-arrow that is an instance of A, the relation multi-arrow is also an instance of B." [METAREL:wb] synonym: "is_a" BROAD [METAREL:0000017] is_a: metarelated_to ! is metarelated to [Typedef] id: resulting_relation name: has resulting relation def: "'Has resulting relation' is a metarelation that relates a composite with a relation type. Consider the composite R_S_T, and the relation types R, S and T imply: if A is R-related to B and B is S-related to C, than A is T-related to C. Than R_S_T has resulting relation T." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: second_relation name: has second relation def: "'Has second relation' is a metarelation that relates a composite with a relation type. Consider the composite R_S_T, and the relation types R, S and T imply: if A is R-related to B and B is S-related to C, than A is T-related to C. Than R_S_T has second relation S." [METAREL:wb] is_a: metarelated_to ! is metarelated to [Typedef] id: type_instance_of name: is type-instance of def: "'Is type-instance of' is a metarelation to indicate that a relation type is an instance of a metaclass in the relation type classification. E.g. 'is part of' 'is type-instance of' all-some relation type." [METAREL:wb] is_a: metarelated_to ! is metarelated to