4

I am trying to wrap my head around ontologies and their related counterparts (RDF, OWL, etc.).

My understanding is that an ontology, at the end of the day, really boils down to some database storing objects/entries, where each entry has a set of known attributes as well as relationships to other entries.

If that's true, I'd imagine ontologies lend themselves as perfect candidates for NOSQL graph DBs.

Either way, after all my initial reading, I still haven't found what the formal/official name is for a single "entry" in an ontology. Any ideas? Ditto for what the official names of their attributes and other relationships are. Thanks in advance!

Raphael
  • 73,212
  • 30
  • 182
  • 400
smeeb
  • 153
  • 4

3 Answers3

3

My understanding is that an ontology, at the end of the day, really boils down to some database storing objects/entries, where each entry has a set of known attributes as well as relationships to other entries.

The more common understanding is that one can emulate1 any ontology as a theory in single sorted first order predicate logic. Because such a theory can be seen as an ontology itself, it "really boils down to ... database(s)" if and only if predicate logic boils down to databases. And indeed, there is a close connection, but it won't help you to understand ontologies.

What is the formal name for an “entry” in an ontology?

Even in your database analogy, you are missing the fact that you also have to specify the database scheme itself in the ontology language. There are different components of an ontology, namely individuals, types/classes, attributes, interrelationships/relations, function terms, restrictions, rules, axioms, and events1. Your "entry" seems to be intended to describe the attributes of an individual, and the relations between individuals. This task is done by the rules, but note that rules are more powerful than this.


1If the ontology contains events, then it is unclear how to emulate it in predicate logic.


Just like vzn, I now have the urge to clean up some of the confusion from the question, independent of whether it will earn me downvotes or not. (People might argue that such explanations based on mathematical logic require too much background knowledge, are too unrelated to ontology, and only lead to confusion. They may be right...) Even if there are practical reasons to prefer RDF or OWL as ontology languages over predicate logic, the simple structure of the later makes it a good tool for explaining some essential components of an ontology language.

A theory in single sorted first order predicate logic consists of axioms and a signature describing the non-logical symbols, i.e. the constants, functions, and predicates (and their arity). The axioms are well formed logical sentences over the given signature (with equality). Let's take set theory as an example. The signature just consists of $S_{rel}=\{\in\}$ and $\operatorname{ar}(\in)=2$, i.e. "$\in$" is a binary predicate. The axioms are logical sentences like $\forall A \, \forall B \, ( \forall X \, (X \in A \iff X \in B) \Rightarrow A = B)$ (Axiom of extensionality).

As an ontology, such a set theory has (at least) the following components:

  • a single type/class (sets),
  • a single interrelationship/relation (set $A$ is an element of set $B$ written as $A\in B$),
  • and a set of axioms/rules

Further attributes and relations can be defined based on these, for example

  • $\operatorname{singleton}(A) \iff \exists S \, (S \in A) \land \forall X \, \forall Y \, ((X \in A \land Y \in A)\ \Rightarrow\ X=Y)$
  • $A\subset B\ \iff\ \forall X \, (X \in A\ \Rightarrow X \in B)$

In single sorted first order predicate logic, you could use such attributes (as well as attributes that are part of the signature) to emulate further types/classes. One can also define constants (like the empty set $\{\}$) and functions (like union $\cup$) based on these. So individuals can be emulated as constants and function terms as functions.

Thomas Klimpel
  • 5,440
  • 29
  • 69
1

An entry in an ontology is typically called a 'concept'. It is a common understanding of what something is. Generally concepts are about kinds, although individual things may also be referred to as concepts. A concept is independent of various collections of related concepts (e.g. 'attributes'). Different models may allocate different collections of attributes the concept, being different collections of information ABOUT the concept. A concept together with a information about the concept may be called an entity or entity type, but that should be distinguished from the concept itself.

A concept is typically denoted by one or more identifiers (synonyms) that are unique within a particular context. Thus the same concept can be denoted by different terms in different 'language communities'. For example, the concept that is denoted by technicians in English as 'pump' is denoted by other terms in other languages, but also by synonyms or abbreviations in particular organizations or even user communities of systems. The concept pump is independent of any 'attributes'.

AndriesSHP
  • 11
  • 1
0

Ontologies are "a representation of entities, ideas, and events, along with their properties and relations, according to a system of categories." they are an abstraction that impose a limiting "world view" on reality that may or may not exist (reality is slippery that way). There is not a unique way to represent/ symbolize reality and an ontology will have both inherent objective and subjective aspects. In a sense they are almost like "belief systems" that impose a structure on reality. The concept of psychological framing and chunking and labelling are relevant. These are methods that humans use to make sense of the world and categorize it into objects. Hence there is also strong connection with CS oriented modelling.

Ontologies are a somewhat more general/ recent theory of the classic, decades-old, well-established version of objects in CS. The original concept of objects in CS are dynamic entities that model real world entities. ontologies are largely used as a sort of higher-level abstraction/ representation of objects in systems. Ontologies are roughly "the higher level entities/ properties etc expressed by CS objects of interest to external systems". It's similar or could be regarded as a customized machine-based language to describe objects & interrelations. Languages have verbs (representing processes)/ nouns (representing objects). There are many different language possibilities and different languages may describe the same objects. As those who know multiple languages can attest, different languages can describe different ideas, and languages can actually have a reverse-influence on thinking in this way.

From wikipedia:

What many ontologies have in common in both computer science and in philosophy is the representation of entities, ideas, and events, along with their properties and relations, according to a system of categories. In both fields, there is considerable work on problems of ontological relativity (e.g., Quine and Kripke in philosophy, Sowa and Guarino in computer science),[4] and debates concerning whether a normative ontology is viable (e.g., debates over foundationalism in philosophy, and over the Cyc project in AI). Differences between the two are largely matters of focus. Computer scientists are more concerned with establishing fixed, controlled vocabularies, while philosophers are more concerned with first principles, such as whether there are such things as fixed essences or whether entities must be ontologically more primary than processes.

babou
  • 19,645
  • 43
  • 77
vzn
  • 11,162
  • 1
  • 28
  • 52