问题
As by default sequence order is not maintained in an OWL ontology. How can i model sequence in an OWL-DL ontology ?
回答1:
One way to model a sequence and order its elements is to just introduc a hasNext
property to capture sequence order:
Class: SequenceItem
EquivalentTo:
hasNext only SequenceItem
ObjectProperty: hasNext
Domain:
SequenceItem
Range:
SequenceItem
InverseOf:
hasPrevious
Then, assuming the items you want to sequence in order are represented as instances, you can capture their order in the sequence like so:
SequenceItem: item_1
hasNext:
item_2
回答2:
OWL allows you to state e.g.:
- every item follows at most one item.
- every item is followed by at most one item.
- every first-item is an item that follows no item.
- Item1 is an item and is followed by Item2.
- ...
These statements allow you to describe sequences (possibly open-ended, i.e. with an infinite model).
(The above statements were written in ACE, use the ACE parser to convert them to OWL, where item
becomes a class, follows
becomes an object property and Item1
and Item2
are individuals.)
来源:https://stackoverflow.com/questions/11789763/modelling-sequence-order-in-owl-dl-ontology