<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Implementing CIDOC CRM Search Based on Fundamental Relations and OWLIM Rules*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vladimir Alexiev</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ontotext Corp</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <fpage>95</fpage>
      <lpage>105</lpage>
      <abstract>
        <p>The CIDOC CRM provides an ontology for describing entities, properties and relationships appearing in cultural heritage (CH) documentation, history and archeology. CRM promotes shared understanding by providing an extensible semantic framework that any CH information can be mapped to. CRM data is usually represented in semantic web format (RDF) and comprises complex graphs of nodes and properties. An important question is how a user can search through such complex graphs, since the number of possible combinations is staggering. One approach "compresses" the semantic network by mapping many CRM entity classes to a few "Fundamental Concepts" (FC), and mapping whole networks of CRM properties to fewer "Fundamental Relations" (FR). These FC and FRs serve as a "search index" over the CRM semantic web and allow the user to use a simpler query vocabulary. We describe an implementation of CRM FR Search based on OWLIM Rules, done as part of the ResearchSpace (RS) project. We describe the technical details, problems and difficulties encountered, benefits and disadvantages of using OWLIM rules, and preliminary performance results. We provide implementation experience that can be valuable for further implementation, definition and maintenance of CRM FRs.</p>
      </abstract>
      <kwd-group>
        <kwd>CIDOC CRM</kwd>
        <kwd>cultural heritage</kwd>
        <kwd>semantic search</kwd>
        <kwd>Fundamental Concepts</kwd>
        <kwd>Fundamental Relations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The CIDOC Conceptual Reference Model (CRM) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], ISO Standard 21127:2006,
provides an ontology for describing entities, properties and relationships appearing in
cultural heritage (CH) documentation, history and archeology. CRM promotes shared
understanding by providing an extensible semantic framework that any CH
information can be mapped to. CRM data is usually represented in semantic web format
(RDF) and comprises complex graphs of nodes and properties.
*
      </p>
      <p>
        This work is partially supported by the Andrew W. Mellon Foundation under the
ResearchSpace project of the British Museum. The author thanks the anonymous referees for
their feedback
An important question is how a user can search through such complex graphs,
since the number of possible combinations is staggering. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] presents one approach
that "compresses" the semantic network by mapping many CRM entity classes to a
few "Fundamental Concepts" (FC), and mapping whole networks of CRM properties
to fewer "Fundamental Relations" (FR). These FC and FRs serve as a "search index"
over the CRM semantic web and allow the user to use a simpler query vocabulary.
      </p>
      <p>
        We describe an implementation of CRM FR Search based on OWLIM Rules [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ],
done as part of the ResearchSpace project [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] funded by the Andrew W. Mellon
foundation and run by the British Museum. We describe the technical details of our
approach, problems and difficulties encountered, benefits and disadvantages of using
OWLIM rules, and preliminary performance results. We provide implementation
experience that can be a valuable guide for the further implementation, definition and
maintenance of CRM FRs.
      </p>
      <p>
        The FP7 project 3D COFORM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is also implementing FR search, and we have
established a collaboration.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Example: Thing from Place</title>
      <p>
        As an example, let's consider the FR "Thing from Place". It is intended to capture all
alternatives through which a Thing's origin can be related to Place, and is defined in
[
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as:
Note: we've made the following (mostly notational) simplifications:
x removed the construct "--P2F.has_type-&gt; E55.Type" (allowing to search by event
type) from a number of places
x removed "C2.Finding" which is a Find event of interest to archeology, defined in
3D COFORM but not part of CRM proper
x renamed "C1.Object" to "FC70_Thing" (which stands for Fundamental Concept
"Thing")
x used Erlangen CRM [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] notation for entities (e.g. E5_Event) and properties (e.g.
      </p>
      <p>
        P89_falls_within, P24i_changed_ownership_through)
x used "property*" instead of "(property)(0,n)" to denote reflexive-transitive closure,
and later use "property+" to indicate transitive closure
x used SPARQL Property Paths notation [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]: "(prop1 | prop2)" instead of "{prop1
      </p>
      <p>OR prop2}" to indicate alternative (disjunction)
2.1</p>
      <sec id="sec-2-1">
        <title>Interpretation and Graphical Represenatation</title>
        <p>This FR can be interpreted as follows, where "(...)*" means "optionally and
recursively" i.e. reflexive-transitive closure:
x a Thing (part of another Thing)* is considered to be "from" Place if it:
x is formerly or currently located at Place (that falls within another)*
x or was brought into existence (produced/created) by an Event (part of another)*
ņ that happened at Place (that falls within another)*
ņ or was carried out by an Actor (who is member of a Group)*
o who formerly or currently has residence at Place (that falls within another)*
o or was brought into existence (born/formed) by an Event (part of another)*
that happened at Place (that falls within another)*
x or was Moved to/from a Place (that falls within another)*
x or changed ownership through an Acquisition (part of another)*
ņ that happened at Place (that falls within another)*
Although defined as a tree of property paths, the FR is better depicted as a network
through a simple merge of leaf-level nodes
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Corrections and Rationalization</title>
        <p>We reviewed each FR, made some corrections, and rationalized the network. This FR:
x Allowed paths of mixed properties (e.g. P46i,P106i) at the beginning
x Allowed a loop P9i* at E9 (Move forms part of a bigger event) by merging the
nodes E8, E9, and the second E63
ņ We could even merge the first E63, but then we'd have a back-link, so before
traversing P14 must check that the event is E12, E65, or E81 (i.e. the
production/creation of a Thing), so that won't lead to simplification
x Allowed P10_falls_within in addition to P9i_forms_part_of (after consultation
with the original authors)
x Skipped P26,P27 since these are subproperties of (infer) P7, so it's enough to check
for P7
The result is this network:
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Inverses, Transitive, Parallel-Serial Networks</title>
      <p>
        The example above suggests several implementation considerations:
x Most CRM properties have an inverse and [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] declares them as owl:inverseOf
(symmetric properties are their own inverse). FRs use CRM properties in both
directions: forward (e.g. P53_has_former_or_current_location) and inverse
(P24i_changed_ownership_through), so it's useful to rely on owl:inverseOf
inferencing
x FRs use transitive closure (denoted +) to traverse the various "part" hierarchies of
CRM (physical object parts, conceptual object parts, sub-places, sub-events), so it's
useful to rely on owl:TransitiveProperty inferencing. CRM scope notes suggest
that 14 properties (and their inverses) should be transitive: P9 P10 P46 P86 P88
P89 P106 P114 P115 P116 P117 P120 P127 P148. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] declares them as
owl:TransitiveProperty (except P9 P46 that were forgotten, so we declared them).
In addition to these "atomic" properties, disjunctions of properties often also need
to be declared as transitive.
x FRs often use reflexive-transitive closure (denoted *). However, we have opted not
to use reflexive closure in the implementation, since it would generate a lot of
trivial facts (self-loops). We use disjunction instead: the iterated property is applied 0
times in the first disjunct, and n times in the second
x FRs are defined mostly as parallel-serial networks of properties, using SPARQL
      </p>
      <p>
        Property Paths constructs [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
3.1
      </p>
      <sec id="sec-3-1">
        <title>Decomposing Thing from Place Into sub-FRs</title>
        <p>The example network in section 2.2 can be decomposed into "sub-FRs" as follows.
We use prefix FRT for a transitive sub-FR, FRX for a non-transitive sub-FR, and FR
for the final result: FR7 "thing from place". A major challenge has been coming up
with names for these sub-FRs, so we used numbering from CRM properties
# self-loops and simple disjunctions
FRT_46i_106i_148i := (P46i|P106i|P148i)+
FRT_9i_10 := (P9|P10)+
FRT_107i := P107i+
FRT_89 := P89+
FRX_53_54 := (P53|P54)
FRX_24i_25i := (P24i|P25i)</p>
        <p># growing fragments
FRX_92i := P92i | P92i/FRT_9i_10
FRX_92i_14 := FRX_92i/P14 | FRX_92i/P14/FRT_107i
FRX_FC70_E8_9_63 := FRX_92i_14/P92i | FRX_24i_25i
FRX_FC70_E8_9_63_P7 := FRX_FC70_E8_9_63/P7 | FRX_FC70_E8_9_63/FRT_9i_10/P7
FRX7 := FRX_53_54 | FRX_FC70_E8_9_63_P7 | FRX_92i_14/P74 | FRX_92i/P7
FRX7_P89 := FRX7 | FRX7/FRT_89
FR7 := FRX7_P89 | FRT_46i_106i_148i/FRX7_P89
3.2</p>
      </sec>
      <sec id="sec-3-2">
        <title>Implementing Networks with RDFS and OWL</title>
        <p>Parallel-serial networks can be implemented wholly within the RDFS and OWL
vocabularies (we express the implementation fragments in RDF Turtle):</p>
      </sec>
      <sec id="sec-3-3">
        <title>Pattern</title>
        <p>inverse
parallel</p>
        <p>Construct
prop := ^prop1
prop := prop1|prop2
serial prop := prop1/prop2
transitive prop := prop1+
reflexive- prop := prop1 prop2*
transitive
Implementation
prop1 owl:inverseOf prop2.
prop1 rdfs:subPropertyOf prop.
prop2 rdfs:subPropertyOf prop.
prop owl:PropertyChainAxiom (prop1 prop2).
prop1 rdfs:subPropertyOf prop.
prop owl:TransitiveProperty
Converted to the following:
prop := prop1 | (prop1/prop2+)
3.3</p>
      </sec>
      <sec id="sec-3-4">
        <title>Type Checking and Conjunctive Properties</title>
        <p>
          The original definition [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] supposes type checks for every node (FC70, E63, etc). So
for example the final definition of the target FR should be:
x FR7_from_place y := x a FC70_Thing; x FR7 y; y a E53_Place.
        </p>
        <p>Here x,y are variables, "a" stands for rdf:type as usual, and ";" separates triple patterns
and stands for conjunction.</p>
        <p>In many cases the type checks can be skipped since they are implied by the
appropriate property ranges. E.g. all of P53 P54 P7 P47 P89 have range E53, so there is no
need to check the type of the final node.</p>
        <p>But in some cases type checks are required, e.g. for the "about" FR family that
applies to various FCs and is segmented into several FRs: Thing about Thing, Thing
about Place, Thing about Actor, etc. If the type check is at the first or last node, it can
be added in SPARQL. But if the type check is needed in the middle of a network, we
need a conjunctive property.</p>
        <p>
          Unfortunately properties cannot be defined by conjunction in OWL 2 [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. While
the same answer suggests that adding role conjunctions in DLs increases
computational complexity significantly, [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] shows conditions under which role conjunction
can be added without increase in complexity. In particular, OWL RL can be extended
with role conjunctions without any restrictions or increase in complexity, and [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
proposes extending OWL with such capabilities. Such extensions may become
available in a future OWL version (OWL 3)
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>OWLIM Rules</title>
      <p>
        Because of the difficulty described in 3.3, we chose to implement FRs using OWLIM
Rules [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. OWLIM [
        <xref ref-type="bibr" rid="ref4 ref5">4,5</xref>
        ] is a semantic repository by Ontotext Corp that provides
high-performance and scalability, comprehensive OWL RL and QL reasoning,
custom rules, incremental assert/retract, clustering and other enterprise features.
      </p>
      <p>OWLIM Rules use simple unification: a set of premise triple patterns is checked
against the repository, and if it matches, a set of consequence triples is inferred and
stored in the repository. The rules are translated to Java bytecode for speed.</p>
      <p>The OWLIM Rules syntax is verbose (one line per premise/conclusion). Since we
had to define a lot of rules, we defined a simpler syntax (one line per rule, see
examples below) that we translate using a simple script. The syntax is similar to N3 Rules,
but simpler.</p>
      <p>RDFS and OWL2 are implemented in OWLIM using OWLIM Rules. The user
loads different rule sets (PIE files) depending on the required reasoning capabilities.
We started from RDFS that implements sub-class and sub-property reasoning, and
added a bit of OWL that implements inverse and transitive reasoning:
p &lt;rdf:type&gt; &lt;owl:TransitiveProperty&gt;; x p y; y p z =&gt; x p z
p1 &lt;owl:inverseOf&gt; p2; x p1 y =&gt; y p2 x
p1 &lt;owl:inverseOf&gt; p2; x p2 y =&gt; y p1 x
The implementation of owl:propertyChainAxiom is more complex (using the full
rules syntax), mostly because it deals with RDF list iteration. We don't use it for the
current implementation:
Id: prp_spo2_1
p &lt;owl:propertyChainAxiom&gt; pc
start pc last [Context &lt;onto:_checkChain&gt;]
---------------------------start p last
Id: prp_spo2_2
pc &lt;rdf:first&gt; p
pc &lt;rdf:rest&gt; t [Constraint t != &lt;rdf:nil&gt;]
start p next
next t last [Context &lt;onto:_checkChain&gt;]
---------------------------start pc last [Context &lt;onto:_checkChain&gt;]
Id: prp_spo2_3
pc &lt;rdf:first&gt; p
pc &lt;rdf:rest&gt; &lt;rdf:nil&gt;
start p last
---------------------------start pc last [Context &lt;onto:_checkChain&gt;]
Then we added specific rules for the FRs. We used a Literate Programming style to
intersperse FR definitions and discussions with FR implementation in our wiki, then
weaved the final FR rules using a simple script.
4.1</p>
      <sec id="sec-4-1">
        <title>Benefits of OWLIM Rules</title>
        <p>The important benefits of OWLIM Rules used in our implementation are:
x
x
x</p>
        <p>Speed: OWLIM uses forward-chaining materializing inference, so consequences
are stored in the repository and query answering is very fast. Custom rules are
treated just like system rules.</p>
        <p>Rules are "reversible": when a triple is retracted, all relevant rules are checked. If
an inferred triple matches the consequences and there are no other triples that
support it, the triple is retracted as well. This suppors incremental retract and is
extremely important for high-update use cases such as BBC World Cup, BBC
Olympics, and ResearchSpace.</p>
        <p>Support conjunctive checks, i.e. overcome the problem described in section 3.3
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Disadvantages of OWLIM Rules</title>
        <p>The main disadvantages of OWLIM rules are:
x They are not flexible: every time the rule set is changed, the repository needs to be
reloaded from scratch. In contrast, once the RDFS/OWL vocabularies are
implemented as rules (see section 4), adding a meta-property (e.g.
owl:TransitiveProperty or owl:inverseOf) recomputes all relevant consequences
dynamically.
x They are proprietary to OWLIM. Ontotext is considering the implementation of
proposed standard rule languages in future OWLIM versions.
x They don't support negation in a real sense (e.g. one can check that a rule variable
is not bound to a specific class, but cannot check that a variable does not have a
specific type or one of its sub-classes). Implications of this are discussed in
sections 5.1 and 6.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Results and Performance</title>
      <p>Once each FR is depicted as a diagram similar to the one in 2.2, the implementation
as OWLIM rules is straightforward if tedious. E.g. the first line in the decomposition
shown in 3.1 is implemented as these 3 rules ("rso" stands for "ResearchSpace
Ontology"):
x &lt;crm:P46i_forms_part_of&gt; y =&gt; x &lt;rso:FRT_46i_106i_148i&gt; y
x &lt;crm:P106i_forms_part_of&gt; y =&gt; x &lt;rso:FRT_46i_106i_148i&gt; y
x &lt;crm:P148i_is_component_of&gt; y =&gt; x &lt;rso:FRT_46i_106i_148i&gt; y
We have implemented 11 FRs of Thing:
x refers to or is about Place: FR67_refers_to_or_is_about
x from Place: FR7_from_place
x is/was located in Place: FR53_is_was_located_in
x has met Actor: FR12_has_met
x by Actor: FR14_by
x refers to or is about Event: FR67_about_event
x has met Event: FR12_was_present_at
x is made of Material: FR45_is_made_of
x is/has Type: FR2_has_type
x used technique: FR32_used_technique
x identified by Identifier: FR1_identified_by
This took 86 OWLIM rules and 10 axioms. They use 44 source properties (from
CRM0 and define and use 26 intermediate properties (sub-FRs, see 3.1).
5.1</p>
      <sec id="sec-5-1">
        <title>Bug in Thing has met Event</title>
        <p>We found a "bug" in the definition of Thing has met Event (FR12_was_present_at)
that causes quadratic growth and exponential slowdown of data loading. The rule is
defined benignly enough:
FC70_Thing --FR12_was_present_at-&gt; E5_Event :=
FC70_Thing --(P46i_forms_part_of | P106i_forms_part_of | P148i_is_component_of)* -&gt;
FC70_Thing --P12i_was_present_at-&gt; E5_Event:</p>
        <p>E5_Event --P9i_forms_part_of*-&gt; E5_Event</p>
        <p>ResearchSpace currently deals with RKD and British Museum data, and we model
an acquisition as an event having several of these types:
x E8_Acquisition: changes the current owner
x E10_Transfer_of_Custody: changes the current keeper
x E80_Part_Removal: removes the object from the old collection
x E79_Part_Addition: adds the object to the new collection
The acquisition is an event at which meet the object, buyer, seller, old collection and
new collection. The object is part of the old collection (before the acquisition) and
part of the new collection (after the acquisition). Because P46i_forms_part_of is
included in the definition, this causes all objects in a collection to have met (witnessed)
the acquisition of all other objects in the collection. This is logically undesirable:
x If Thing2 was added to Collection after Thing1, it's causally impossible for Thing2
to be present at the acquisition of Thing1
x If Thing2 was added to Collection before Thing1, one could say Thing2 quietly
observed the addition of Thing1, but that is not really useful
More importantly for us, this is computationally very expensive for a large collection
such as the British Museum that has over 1.5M objects.</p>
        <p>We considered fixing the problem by adding a clause that the target of
P46i_forms_part_of is not E78_Collection. However, OWLIM rules don’t support
true negation, so for the time being we've simply removed P46i from the definition,
since our data does not deal with object parts.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Performance</title>
        <p>Concerns were expressed that materializing sub-FR triples may increase the
repository size too much and slow it down. We have preliminary performance results that are
very promising and dispel these fears:
x
x</p>
        <p>A small repository of 11 Rembrandt paintings had 1.5M triples, including about
0.5M object triples (complex data about each painting, researches, documents, etc)
and 1M thesaurus triples (people, places, etc). The FRs added only 25.8k triples,
which is 1.7% of the total data or 5.1% of the object data.</p>
        <p>A large repository of over 1.5M British Museum objects and about 200M triples
performs FR searches with no noticeable slow-down.
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Benefits Compared to Straight SPARQL</title>
        <p>To appreciate the query simplification that FRs afford, compare this simple query
using the FR "Thing from Place" defined in sec. 3:
select * {?t FR7_from_place ?y}
To a "straight SPARQL" query:
Even though it uses SPARQL 1.1 shortcut notation (Property Paths), the query is
complex. It is also expensive, since it considers many alternative paths. When you
consider that FRs are usually used in combination, the resulting queries become too
complex. K.Tzompanaki reports that an FR implementation approach using straight
SPARQL queries quickly becomes hard to manage (personal communication).
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Summary and Future Work</title>
      <p>
        We presented an implementation of CRM Search based on the "Fundamental
Concepts" and "Fundamental Relations" approach [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. FC and FRs serve as a "search
index" over complex CRM semantic networks and allow the user to use a simpler
query vocabulary.
      </p>
      <p>Our implementation uses OWLIM Rules and was done over large repositories of
Cultural Heritage objects. We describe the technical details, problems and difficulties
encountered, benefits and disadvantages of using OWLIM rules, and preliminary
performance results. We provided implementation experience that can be valuable for
further implementation, definition and maintenance of CRM FRs.
Future work in this direction can include:
x Implement more FRs in collaboration with the 3D COFORM project. This includes
more FRs of Thing, as well as FRs of other Fundamental Concepts (Person, Event,
etc) that are not yet defined.
x Automate the discovery of shared sub-FRs to facilitate the implementation
x Take care of complications related to negation
7</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>1. CIDOC CRM website, http://www.cidoc-crm.org</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Katerina</given-names>
            <surname>Tzompanaki</surname>
          </string-name>
          ,
          <article-title>Martin Doerr: A New Framework for Querying Semantic Networks</article-title>
          .
          <source>FORTH technical report TR419</source>
          , May 2011
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>3. ResearchSpace project, http://www.researchspace.org</mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>4. OWLIM website, http://www.ontotext.com/owlim</mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Barry</given-names>
            <surname>Bishop</surname>
          </string-name>
          , Atanas Kiryakov, Damyan Ognyanoff, Ivan Peikov, Zdravko Tashev, Ruslan Velkov,
          <article-title>OWLIM: A family of scalable semantic repositories</article-title>
          ,
          <source>Semantic Web Journal</source>
          , Volume
          <volume>2</volume>
          ,
          <string-name>
            <surname>Number</surname>
            <given-names>1</given-names>
          </string-name>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Barry</given-names>
            <surname>Bishop</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Spas</given-names>
            <surname>Bojanov</surname>
          </string-name>
          .
          <article-title>Implementing OWL 2 RL and OWL 2 QL rule-sets for OWLIM</article-title>
          .
          <source>Proc. of 8th International Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2011</year>
          ), San Francisco, USA, June 5-6,
          <year>2011</year>
          , CEUR-WS.org,
          <source>ISSN 1613-0073</source>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <source>FP7 project 3D COFORM</source>
          , http://www.3d-coform.org
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Katerina</given-names>
            <surname>Tzompanaki</surname>
          </string-name>
          , Martin Doerr:
          <article-title>Fundamental Categories and Relationships for intuitive querying CIDOC-CRM based repositories</article-title>
          ,
          <source>Technical Report ICS-FORTH/TR-429</source>
          ,
          <year>April 2012</year>
          , http://www.cidoc-crm.org/docs/TechnicalReport429_April2012.pdf
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Erlangen</surname>
            <given-names>CRM</given-names>
          </string-name>
          <article-title>mapping of CRM to OWL</article-title>
          , http://erlangen-crm.org
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>10. SPARQL Property Paths, http://www.w3.org/TR/sparql11-property-paths</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Answer on SemanticWeb.com, http://answers.semanticweb.com/questions/11602/
          <article-title>- property-intersection-impossible-in-owl-2-full</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Sebastian</surname>
            <given-names>Rudolph</given-names>
          </string-name>
          , Markus Krötzsch, Pascal Hitzler:
          <article-title>Cheap Boolean Role Constructors for Description Logics</article-title>
          .
          <source>Proceedings of 11th European Conference on Logics in Artificial Intelligence (JELIA</source>
          <year>2008</year>
          ),
          <fpage>p362</fpage>
          -
          <lpage>374</lpage>
          , LNAI 5293,
          <article-title>Sep 2008</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Pascal</surname>
            <given-names>Hitzler</given-names>
          </string-name>
          ,
          <article-title>Suggestions for OWL 3</article-title>
          ,
          <source>Proceedings of the 5th International Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2009</year>
          ),
          <article-title>Oct 2009</article-title>
          . CEUR 529, http://ceurws.org/Vol-
          <volume>529</volume>
          /owled2009_submission_6.pdf
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>