Duke University, Department of Biostatistics & Bioinformatics
2024-09-24
FOL | DL | OWL | Example |
---|---|---|---|
constant | individual | individual | ‘my hand’, ‘Durham, NC’ |
unary predicate | concept | class | ‘manus (hand)’, ‘city’ |
binary predicate | role | property | ‘part of’, ‘has parent’ |
C and D are concepts, R is a role (property). If \(a\ R\ b\) then b is connnected by R (“R-successor”).
DL notation | Concept | OWL2 (Functional Syntax) |
---|---|---|
\(\top\) | Top concept | owl:Thing |
\(\bot\) | Bottom concept | owl:Nothing |
\(C \sqcap D\) | Conjunction of concepts C and D | ObjectIntersectionOf( C D ) |
\(C \sqcup D\) | Disjunction of concepts C and D | ObjectUnionOf( C D ) |
\(\neg C\) | Complement of concept C | ObjectComplementOf( C ) |
\(\forall R.C\) | All connected by R are in C (universal quantification) | ObjectAllValuesFrom( R C ) |
\(\exists R.C\) | Some connected by R are in C (existential quantification) | ObjectSomeValuesFrom( R C ) |
Non-atomic concept definitions are called class expressions.
C and D are concepts, R is a role (property), a and b are individuals.
DL notation | Axiom | OWL2 (Functional Syntax) | Semantics |
---|---|---|---|
\(C \sqsubseteq D\) | Concept inclusion | SubClassOf( C D ) | \(\forall a\in C \rightarrow a\in D\) |
\(C \sqcap D \sqsubseteq \bot\) | Concept exclusion | DisjointClasses( C D ) | \(\not\exists a\!: a\in C \wedge a\in D\) |
\(C \equiv D\) | Concept equivalency | EquivalentClasses( C D ) | \(\forall (a\in C, b\in D) \rightarrow\\ a\in D \wedge b \in C\) |
\(C(a)\) | Concept member | ClassAssertion( C a ) | \(a \in C\) |
\(R(a,b)\) | Role | ObjectPropertyAssertion( R a b ) | |
\(R(a,\!'val')\) | Data value | DataPropertyAssertion(R a “val”) |
C and D can be atomic concepts or class expressions. If the left hand side in a concept inclusion axiom is a class expression, it is called a General Class Inclusion (GCI) axiom.
C and D are concepts; P, R and S are roles (properties); a and b are individuals.
DL | Role … | OWL2 (Functional Syntax) | Semantics |
---|---|---|---|
\(R \sqsubseteq S\) | inclusion | SubObjectPropertyOf( R S ) | \(\forall (a,b):\\ R(a,b) \rightarrow S(a,b)\) |
\(R \equiv S\) | equivalency | EquivalentObjectProperties( R S ) | |
\(R \equiv S^-\) | inverse | InverseObjectProperty( R S ) | \(\forall (a,b):\\ S(a,b) \rightarrow R(b,a)\) |
\(R \circ S \sqsubseteq P\) | chain | SubObjectPropertyOf( ObjectPropertyChain( R S ) P) | \(\forall (a,b): R(a,z) \wedge S(z,b)\\ \rightarrow P(a,b)\) |
Functional role | FunctionalObjectProperty( R ) | \(\forall (a,b,c): R(a,b) \wedge R(a,c)\\ \rightarrow b \equiv c\) | |
Inverse functional | InverseFunctionalObjectProperty( R ) | \(\forall (a,b,c): R(a,b) \wedge R(c,b)\\ \rightarrow a \equiv c\) |
Object property domain axiom:
ObjectPropertyDomain( R C )
Object property range axiom:
ObjectPropertyRange( R D )
OWL properties apply to individuals, both as subject and object:
‘my left index finger’ :part_of ‘my left hand’
For classes (“universals”), must use property restriction (\(\sqsubseteq\exists part\_of.hand\)):
‘index finger’ SubClassOf :part_of some ‘hand’1
or more specifically (\(\sqsubseteq anatomical\_structure \sqcap\exists part\_of.hand\)):
‘index finger’ SubClassOf ‘anatomical structure’ and :part_of some ‘hand’
Note that existential quantification is “asymmetric”, and the reverse with the inverse property does not necessarily follow:
\(index\_finger\sqsubseteq\exists part\_of.hand \wedge has\_part\equiv part\_of^- \not\rightarrow\\ hand\sqsubseteq\exists has\_part.index\_finger\)
owl:Nothing
)Facts that are not known are assumed to be false.
Databases and database queries are most common example:
The result set is assumed to contain all values that can possibly match (i.e., that exist).
Semantic entailment
Satisfiability and consistency
Classification
Conjunctive query answering (“DL queries”)
'anatomical structure' and 'part of' some 'hand'
The DL Query tutorial in the OBOOK (OBO Organized Knowledge) collection of training and tutorial materials on ontology development and use provides a good introduction.
Explanation
Issue | Symbolic AI | Neural AI |
---|---|---|
Decisions | Self-explanatory | Black box |
Expert knowledge | Readily utilized | Difficult to utilize |
Trainability | Typically not | Trainable from raw data |
Susceptibility to data errors | High, brittle | Low, robust |
Speed | Slow on large expressive KB | Fast once trained |