An ontology for modelling and inferring overlapping scenarios in EARMARK documents.
Different types of overlap exist – according to the subset of items involved – and different strategies are needed to detect them. In particular, there is a clear distinction between overlapping ranges and overlapping markup items.
By definition, overlapping ranges are two ranges that refer to the same docuverse and so that at least one of the locations of the first range is contained in the interval described by the locations of the second range (excluding its terminal points). Totally overlapping ranges have the locations of the first range completely contained in the interval of the second range or vice versa, while partially overlapping ranges have either exactly one location inside the interval and the other outside or identical terminal points in reversed roles.
The case of overlapping markup items is slightly more complicated. We define that two markup items A and B overlap when at least one of the following sentences holds:
1. [overlap by range] A contains a range that overlaps with another range contained by B;
2. [overlap by content hierarchy] A and B contain at least a range in common;
3. [overlap by markup hierarchy] A and B contain at least a markup item in common.
This ontology allows to describe and infer all these different overlapping scenarios that are introduced in EARMARK documents.
IRI: http://www.essepuntato.it/2011/05/overlapping/dominates
has characteristics: transitive
IRI: http://www.essepuntato.it/2011/05/overlapping/dominatesDirectly
A markup item directly contains another EARMARK node (either a markup item or a range).
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsByContentHierarchy
Two markup items A and B that contain at least a range in common.
has characteristics: symmetric
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsByMarkupHierarchy
Two markup items A and B that contain at least another markup item in common.
has characteristics: symmetric
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsByRange
A markup item A contains a range that overlaps with another range contained by a markup item B.
has characteristics: symmetric
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsWith
An EARMARK node, i.e., either a markup item or a range, overlaps with another EARMARK node of the same type.
has characteristics: irreflexive, symmetric
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsWithMarkupItem
A markup item overlaps with another markup item.
has characteristics: symmetric
IRI: http://www.essepuntato.it/2011/05/overlapping/overlapsWithRange
has characteristics: symmetric
earmark:MarkupItem(?x) , earmark:MarkupItem(?y) , earmark:Range(?z1) , earmark:Range(?z2) , dominates directlyop(?x,?z1) , dominates directlyop(?y,?z2) , overlaps with rangeop(?z1,?z2) , DifferentFrom(?x,?y) , DifferentFrom(?z1,?z2) -> overlaps by rangeop(?x,?y)
earmark:XPathPointerRange(?x) , earmark:XPathPointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , earmark:hasXPathContext(?x,?xpath) , earmark:hasXPathContext(?y,?xpath) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:XPathPointerRange(?x) , earmark:XPathPointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , earmark:hasXPathContext(?x,?xpath) , earmark:hasXPathContext(?y,?xpath) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:PointerRange(?x) , earmark:PointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:MarkupItem(?x) , earmark:MarkupItem(?y) , earmark:MarkupItem(?z) , dominates directlyop(?x,?z) , dominates directlyop(?y,?z) , DifferentFrom(?x,?y) -> overlaps by markup hierarchyop(?x,?y)
earmark:MarkupItem(?x) , earmark:MarkupItem(?y) , earmark:Range(?z) , dominates directlyop(?x,?z) , dominates directlyop(?y,?z) , DifferentFrom(?x,?y) -> overlaps by content hierachyop(?x,?y)
earmark:PointerRange(?x) , earmark:PointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:PointerRange(?x) , earmark:PointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:XPathPointerRange(?x) , earmark:XPathPointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , earmark:hasXPathContext(?x,?xpath) , earmark:hasXPathContext(?y,?xpath) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:XPathPointerRange(?x) , earmark:XPathPointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , earmark:hasXPathContext(?x,?xpath) , earmark:hasXPathContext(?y,?xpath) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
earmark:PointerRange(?x) , earmark:PointerRange(?y) , earmark:refersTo(?x,?d) , earmark:refersTo(?y,?d) , earmark:begins(?x,?b1) , earmark:begins(?y,?b2) , earmark:ends(?x,?e1) , earmark:ends(?y,?e2) , , , , DifferentFrom(?x,?y) -> overlaps withop(?x,?y)
This HTML document was obtained by processing the OWL ontology source code throughLODE, Live OWL Documentation Environment, developed bySilvio Peroni.
A markup item contains, at any level of the sub-hierarchy that has the markup item itself as root, another EARMARK node (either a markup item or a range).