These Object Properties Characteristics are the properties you can assign to objects in [[Protege]]. These carry [[Ontology, Semantics, and Syntax|semantic]] meaning. This gives [[Reasoner]]s rules to make inferences from. # Transitive Relationship See: [[Transitive Relationship]] If `A` relates to `B` with relationship X, and `B` relates to `C` with relationship X, then `A` also relates to `C` with relationship X. Example: - **Ancestor_Of** - if someone is an ancestor of your mom, they are also an ancestor of yours Simpsons example: - `Homer` → Ancestor_Of → `Bart` - `Abe` → Ancestor_Of → `Homer` - Thus reasoners infer: - `Abe` → Ancestor_Of → `Bart` # Functional A functional relationship is one where an individual can only be related to exactly **one** other individual in that way. Like how a [[Functions|function]] in math has exactly one output (remember the vertical line test). Example: - **Has_Biological_Mother** - you can only have one. Simpsons example - `Lisa` → Has_Biological_Mother → `Marge` - `Lisa` → Has_Biological_Mother → `Mrs. Simpson` - Thus reasoners infer: - `Marge` and `Mrs. Simpson` must be the same individual ## Inverse Functional A relationship which, when reversed, is functional. Example: - **Is_Biological_Mother_Of** Simpsons example: - `Marge` → Is_Biological_Mother_Of → `Lisa` - `Mrs Simpsons` → Is_Biological_Mother_Of → `Lisa` - Thus reasoners infer: - `Marge` and `Mrs. Simpson` must be the same individual # Symmetric If `A` is related to `B` with relationship X, then `B` is also related to `A` with the same relationship. Example: - **Siblings_With** - you are your sibling's sibling[^1] Simpsons example: - `Bart` → Siblings_With → `Lisa` - Thus reasoners infer: - `Lisa` → Siblings_With → `Bart` Other examples: - **Same_As** or **Also_Known_As** or **Alias** would all be symmetric ## Asymmetric If `A` is related to `B` with relationship X, then `B` CANNOT BE related to `A` with the same relationship. Example: - **Biological_Parent_Of** - you can't be your parent's parent (excluding time travel causality loop fiction) Simpsons example: - `Homer` → Biologial_Parent_Of → `Maggie` - Thus reasoners infer: - `Maggie` CANNOT be Biological_Parent_Of `Homer` # Reflexive A relationship where you are by definition related to yourself. Example: - **Genetically_Similar_To** - you're genetically similar to lots of folks, but you're _definitely_ genetically similar to yourself Simpsons example: - `Bart` → Genetically_Similar_To → `Lisa` - Thus reasons infer: - `Bart` → Genetically_Similar_To → `Bart` (also: Lisa → Lisa would be inferred) ## Irreflexive A relationship where you CANNOT be related to yourself. This allows reasoners to catch mistakes like "Homer" being the son of "Mr Simpson", where "Mr Simpson" in the graph refers to Homer _himself_, rather than Abe. Example: - **Siblings_With** - sorry to reuse examples, but you cannot be siblings with yourself Simpsons example: - `Bart` → Siblings_With → `Lisa` - Thus reasoners infer: - `Lisa` CANNOT be Siblings_With `Lisa` **** ## Source - http://protegeproject.github.io/protege/views/object-property-characteristics/ ## Related - [[Ontology]] - [[Ontology Components]] - [[Entity Relationship Categories]] [^1]: "Siblings_With" is Symmetric AND Transitive