An ontology defining formally patterns for segmenting a document into atomic components, in order to be manipulated independently and re-flowed in different contexts.
The idea of using patterns to produce reusable and high-quality assets is not new in the literature. Software engineers, architects (as Alexander who first introduced this term) and designers very often use – or rather reuse – patterns to handle problems which recur over and over. Patterns have also been studied to modularize and customize web ontologies (http://ontologydesignpatterns.org). They guarantee the flexibility and maintainability of concepts and solutions in several heterogeneous scenarios.
We've been investigating patterns for XML documents for some time. The overall goal of this research is to understand how the structure of digital documents can be segmented into atomic components, that can be manipulated independently and re-flowed in different contexts. Instead of defining a large number of complex and diversified structures, we have identified a small number of structures/patterns that are sufficient to express what most users need. Our idea is that a low number of patterns are enough to capture the most relevant document structures.
IRI: http://www.essepuntato.it/2008/12/pattern#Atom
IRI: http://www.essepuntato.it/2008/12/pattern#Block
An entity that can contain text and that admits in its content model only entities compliant with the patterns inline, milestone and popup.
IRI: http://www.essepuntato.it/2008/12/pattern#Bucket
An entity that can contain other entities and that cannot contain any text.
IRI: http://www.essepuntato.it/2008/12/pattern#Container
An entity that cannot contain text and that admits in its content model only entities compliant with the patterns block, atom, meta, and any container but popup.
IRI: http://www.essepuntato.it/2008/12/pattern#Flat
An entity that cannot contain any other entity and that can contain text.
IRI: http://www.essepuntato.it/2008/12/pattern#HeadedContainer
An entity, compliant with the pattern container, that contains always a sort of header formed by block-based entities only.
IRI: http://www.essepuntato.it/2008/12/pattern#Hierarchical
An entity compliant with a pattern that admits other entities in its content model.
IRI: http://www.essepuntato.it/2008/12/pattern#Inline
An entity, always contained by block-based entities, that can contain text and that admit in its content model only entities compliant with the patterns inline, milestone and popup.
IRI: http://www.essepuntato.it/2008/12/pattern#Leaf
An entity compliant with a pattern that does not admit other entities in its content model.
IRI: http://www.essepuntato.it/2008/12/pattern#Marker
An entity that cannot contain neither entities nor text.
IRI: http://www.essepuntato.it/2008/12/pattern#Meta
An entity that cannot contain any text and that can be contained by any other entity compliant with the pattern container.
Note that its meaning depends on its presence and its attributes.
IRI: http://www.essepuntato.it/2008/12/pattern#Milestone
An entity that cannot contain and that can be contained by any other entity compliant with the pattern block and inline.
Note that its meaning depends on its position.
IRI: http://www.essepuntato.it/2008/12/pattern#Mixed
An entity that can contain other entities and text.
IRI: http://www.essepuntato.it/2008/12/pattern#Pattern
A structural pattern is an atomic component of a document, that is able to capture a recurrent and well knwon structure of a document.
Any entity belonging to this class is compliant with exactly one structural pattern.
IRI: http://www.essepuntato.it/2008/12/pattern#Popup
An entity, compliant with the pattern container, that is always contained by a mixed-based entity.
IRI: http://www.essepuntato.it/2008/12/pattern#Record
An entity, compliant with the pattern container, that admits in their content model only entities with different names.
IRI: http://www.essepuntato.it/2008/12/pattern#Structural
An entity compliant with a pattern that does not admit any textual content in its content model.
IRI: http://www.essepuntato.it/2008/12/pattern#Table
An entity, compliant with the pattern container, that admits in its content model only entities with the same name.
IRI: http://www.essepuntato.it/2008/12/pattern#Textual
An entity compliant with a pattern that admits textual contents in its content model.
IRI: http://www.essepuntato.it/2008/12/pattern#contains
A hierarchical-based entity contains another pattern-based one.
IRI: http://www.essepuntato.it/2008/12/pattern#containsAsHeader
A hierarchical-based entity contains another pattern-based entity as sort of header.
IRI: http://www.essepuntato.it/2008/12/pattern#isContainedBy
A pattern-based entity that is contained by another hierarchical-based entity.
IRI: http://www.essepuntato.it/2008/12/pattern#isContainedByAsHeader
A pattern-based entity that is contained by another hierarchical-based entity as sort of header.
IRI: http://www.essepuntato.it/2008/12/pattern#containsDifferentEntities
A hierarchical-based entity contains al least two entities having different names.
has characteristics: functional
IRI: http://www.essepuntato.it/2008/12/pattern#containsSimilarEntities
A hierarchical-based entity contains al least two entities that share the same name.
has characteristics: functional
IRI: http://www.essepuntato.it/2008/12/pattern#hasName
The name of a particular entity.
has characteristics: functional
IRI: http://purl.org/dc/elements/1.1/description
IRI: http://www.w3.org/2002/07/owl#versionInfo
IRI: http://www.w3.org/2000/01/rdf-schema#comment
headed-container-based entityc, popup-based entityc, record-base entityc, table-based entityc
container-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> container-based entityc(?y)
atom-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> atom-based entityc(?y)
record-base entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> record-base entityc(?y)
table-based entityc(?x) -> contains different entitiesdp(?x,"false"^^xsd:boolean)
inline-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> inline-based entityc(?y)
table-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> table-based entityc(?y)
pattern-based entityc(?y) , textual-based entityc(?x) , has namedp(?x,?g) , has namedp(?y,?g) -> textual-based entityc(?y)
table-based entityc(?x) , containsop(?x,?y) , containsop(?x,?z) , has namedp(?z,?s) -> has namedp(?y,?s)
milestone-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> milestone-based entityc(?y)
meta-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> meta-based entityc(?y)
containsop(?p,?x) , containsop(?p,?y) , has namedp(?x,?s) , has namedp(?y,?s) -> contains similar entitiesdp(?p,"true"^^xsd:boolean)
record-base entityc(?x) -> contains similar entitiesdp(?x,"false"^^xsd:boolean)
block-based entityc(?x) , has namedp(?x,?s) , has namedp(?y,?s) -> block-based entityc(?y)
This HTML document was obtained by processing the OWL ontology source code throughLODE, Live OWL Documentation Environment, developed bySilvio Peroni.
An entity that can contain text only and that can be contained by any other entity compliant with the pattern container.