Overview
This document is intended to clarify BOR's capabilities.
BOR handles only unfoldable terminologies.
This means:
- Each non-prime concept must have a single definition.
- The concept definition dependancy graph should not contain cycles.
BOR has support for:
- Concept conjunction, disjunction and complement.
- Exists and value restrictions (both on abstract and concrete (datatype) roles).
- Cardinality restrictions (on abstract roles only).
- Subrole axioms.
- Transitive role axioms.
- Role range axioms (for concrete (datatype) roles only).
- Custom enum datatype definitions.
- Integer datatype.
- String datatype.
Currently BOR has no support for:
- Enumerated classes and in particular nominals.
- General concept inclusion axioms (GCIs).
- Inverse role.
- Functional roles (atributes).
- Transitive closure of a role.
Types of concepts
There are 3 distinct concept types:
- Prime concept - one that has no definition (totally unconstrained).
- Primitive concept - one that is said to be subconcept of a given concept expression.
- Concept - one that is said to be equivalent to a given concept expression.
Datatype definitions
- Enum definition -
(enum Color (red green blue yellow))
Role axioms
- Subrole axiom -
(subrole hasSon hasChild)
- Transitive axiom -
(transitive hasPredecessor)
- Range axiom -
(range dressColor Color)
Concept axioms
- Prime concept declaration -
(primitive-concept Human)
- Primitive concept definition -
(define-primitive-concept Male Human)
- Concept definition -
(define-concept Female (and Human (not Male)))
Generally the third argument of any concept definition is a concept expression.
Concept expressions
- Complement -
(not Human)
- Conjunction -
(and Human Female)
- Disjunction -
(or Male Female)
- Restriction
- Value restriction -
(all hasChild Male)
- Exists restriction -
(some hasChild Female)
- N/E restriction (syntactic sugar) -
(none role Concept) == (all role (not Concept))
- Cardinality restriction
- Atleast restriction -
(at-least 3 hasChild Male)
- Atmost restriction -
(at-least 1 hasChild Female)
- Exactly restriction (syntactic sugar) -
(exactly n role Concept) ==
(and (at-least n role Concept) (at-most n role Concept))
- Datatype restriction
- Value restriction -
(all age "[18,+oo)")
- Exists restriction -
(some dressColor "red, yellow")
- N/E restriction (syntactic sugar) -
(none role Dataset)
== (all role (not Dataset))