- AKA: instanceOf, InstanceOf Semantic Relation, ExampleOf.
f(Human, Animal)⇒ False; because the members are not Basic Concepts.
- See: Ground Fact, Entity Database, Example, Description Logic.
- An individual i is an DIRECT-INSTANCE-OF class C if i is an instance-of C and there is no other subclass of C defined in the current ontology of which i is also an instance-of. Such a class C is a `minimal' or `most-specific' parent class for the individual i. The direct class is not necessarily unique; an individual can have several most-specific classes. Note that this relation is indexical -- its truth depends the contents of the current knowledge base rather than the world.
The distinction between INSTANCE-OF and DIRECT-INSTANCE-OF is not the same as the relationship between asserting instance-of directly and having the system infer it. The meanings of both instance-of and direct-instance-of, and every other object-level relation in a knowledge base mean, are independent of whether they are asserted explicitly or inferred.
Cyc makes the distinction between #%instanceOf and #%allInstanceOf. #%allInstanceOf means the same thing as INSTANCE-OF in our ontology. However, #%instanceOf is subtlely different from direct-instance-of. When someone asserts (#%instanceOf i C) to Cyc, it means the same thing as (#%allInstanceOf i C), but Cyc creates a pointer between an instance unit and a collection unit. Later, someone may define a subclass C_sub of C and assert (#%instanceOf i C_sub), and this is consistent with the earlier #%instanceOf assertion.
Direct-instance-of is useful for maintaining a class hierarchy in a modular, canonical form. It is defined here because some systems maintain direct-instance-of and some applications depend on this.
- It should be noted that is a does not mean ‘is an instance of’. An ‘instance’, ontologically speaking, is a specific example of something; e.g. a cat is a mammal, but Garfield is an instance of a cat, rather than a subtype of cat. GO, like most ontologies, does not use instances, and the terms in GO represent a class of entities or phenomena, rather than specific manifestations thereof. However, if we know that cat is a mammal, we can say that every instance of cat is a mammal.
- An instance, in object-oriented programming (OOP), is a specific realization of any object. An object may be varied in a number of ways. Each realized variation of that object is an instance. The creation of a realized instance is called instantiation. Each time a program runs, it is an instance of that program.
- To help in reifying properties, RDF defines the InstanceOf relation (property) to provide primitive typing, as shown in the previous example.
- The formal definition of InstanceOf is:
- 1. There is an element of P known as RDF:InstanceOf.
- 2. Elements of T that have RDF:InstanceOf as the first value in the 3-tuple must have elements of N as their second value and third values
- DL axioms are statements that describe relations between class (property) descriptions characteristics of properties, such as asserting a
property is transitive instanceOf relations between (pairs of) individuals and classes (properties).