<!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>Integrating Distributed Configurations with RDFS and SPARQL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Gottfried Schenner</string-name>
          <email>gottfried.schenner@siemens.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefan Bischof</string-name>
          <email>bischof.stefan@siemens.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Steyskal</string-name>
          <email>simon.steyskal@wu.ac.at</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Siemens AG Österreich</institution>
          ,
          <addr-line>Siemensstrasse 90, 1210 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Vienna University of Economics &amp; Business</institution>
          ,
          <addr-line>1020 Vienna</addr-line>
          ,
          <country country="AT">Austria</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Large interconnected technical systems (e.g. railway networks, power grid, computer networks) are typically configured with the help of multiple configurators, which store their configurations in separate databases based on heterogeneous domain models (ontologies). In practice users often want to ask queries over several distributed configurations. In order to reason over these distributed configurations in a uniform manner a mechanism for ontology alignment and data integration is required. In this paper we describe our experience with using standard Semantic Web technologies (RDFS and SPARQL) for data integration and reasoning.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>INTRODUCTION</title>
      <p>
        Product configuration [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is the task of assembling a system from
predefined components satisfying the customer requirements. Large
technical systems are typically configured with the help of multiple
configuration tools. These configurators are often specific to a
technology or vendor and therefore use heterogeneous domain models
(ontologies).
      </p>
      <p>For large interconnected systems (e.g. railway networks, power
grid) the configuration of the overall system may be stored across
separate databases, each database containing only the information for
a sub-system.</p>
      <p>The domain models and databases of these configurators are a
valuable source of information about the deployed system. But there
must be a way to access the information in an uniform and integrated
manner in order to exploit this.</p>
      <p>Figure 1 shows a typical scenario from the railway domain. The
individual stations of a network are built by different vendors (A, B,
C). Vendors A and B use proprietary configurators (A, B) and store
the configurations of these stations in separate projects. Vendor C does
not use a configurator, therefore there is no (digital) data available to
integrate.</p>
      <p>In the railway scenario the railway company owning the railway
network wants to obtain information about the whole network in a
vendor-independent way. To achieve this, some form of ontology and
data integration is necessary. We can identify three steps: (i) create
a vendor-independent ontology, (ii) map or align the vendor-specific
ontologies or schemas to the vendor-independent ontology, and (iii)
provide the vendor-specific data in terms of the vendor-independent
ontology.</p>
      <p>This paper investigates, how to use standard Semantic Web
technologies (RDFS, SPARQL and OWL) for data integration. Our
approach uses SPARQL CONSTRUCT queries to generate a linked
system view of the distributed configurations as depicted in Figure 2.
This system view can then (i) be queried in a uniform manner, (ii)
be checked for contraint violations taking all relevant configurations
into account and (iii) be used for reasoning and general consistency
checks (cf. Figure 3).</p>
      <p>The remainder of this paper is structured as follows: Chapter 2
discusses the preliminaries of this paper, especially the used Semantic
Web technologies. Chapter 3 introduces the working example of this
paper, Chapter 4 shows how to derive an integrated view of the system
from the individual configurator specific databases, in Chapter 5 we
discuss, how to reason about the overall system with SPARQL queries
and we discuss related work in Chapter 6. Finally, we conclude our
paper in Chapter 7.
2</p>
    </sec>
    <sec id="sec-2">
      <title>PRELIMINARIES</title>
      <p>The proposed approach builds heavily on Semantic Web standards
and technologies. Instance data is represented as RDF triples, domain
models are mapped to domain dependent ontologies/vocabularies and
queries are formulated in SPARQL.
2.1</p>
    </sec>
    <sec id="sec-3">
      <title>Data representation with RDF</title>
      <p>
        The Resource Description Framework (RDF) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] is a framework
for describing and representing information about resources and is
both human-readable and machine-processable. These abilities offer
the possibility to easily exchange information in a lightweight manner
among different applications.
      </p>
      <p>In RDF every resource is identified by its URI and represented
as subject - predicate - object triples, where subjects and
predicates are URIs and objects can either be literals (strings, integers,
. . . ) or URIs as shown in Figure 4. Additionally, subjects or objects
can be defined as blank nodes, these blank nodes do not have a
corresponding URI and are mainly used to describe special types of
resources without explicitly naming them. For example the concept
mother could be represented as a female person having at least one
child.
2.2</p>
    </sec>
    <sec id="sec-4">
      <title>Querying with SPARQL</title>
      <p>
        SPARQL Protocol And RDF Query Language (SPARQL) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] is the
standard query language for RDF, which has become a W3C
Recommendation in version 1.1 in 2013. Its syntax is highly influenced
by the previous introduced RDF serialization format Turtle [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and
SQL [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] a query language for relational data3.
      </p>
      <p>
        Besides basic query operations such as union of queries, filtering,
sorting and ordering of results as well as optional query parts,
version 1.1 extended SPARQL’s portfolio by aggregate functions (SUM,
AVG, MIN, MAX, COUNT,. . . ), the possibility to use subqueries,
perform update actions via SPARQL Update and several other heavily
requested missing features [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].
      </p>
      <p>Furthermore, it is possible to create entirely new RDF graphs based
on the variable bindings constituted in graph patterns which are
matched against one or more input graphs, using SPARQL
CONSTRUCT queries. Using such CONSTRUCT queries offers the
possibility to easily define transformations between two or more RDF
graphs/ontologies, which serves as a basic building block for the
present paper.
2.3</p>
    </sec>
    <sec id="sec-5">
      <title>Semantic heterogeneity</title>
      <p>
        In order to be able to integrate two or more ontologies into one
integrated knowledge base, it is mandatory to define correspondences
between the elements of those ontologies to reduce semantic
heterogeneity among the integrated ontologies [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        The problem of semantic heterogeneity can be caused by several
facts, e.g. that different ontologies model the same domain in
different levels of precision or use different terms for the same
concepts [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] (e.g. a concept Computer is equivalent to another concept
Device). Such “simple” differences can be detected by most of the
current state-of-the-art ontology matching systems like YAM++ [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]
or LogMap [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. However more complex heterogeneities (e.g. a
concept Subnet is equivalent to the union of the concepts Computer and
Switch; or a property hasPort, which links a Computer to its Port,
is equivalent to an attribute ownsPort, which contains the respective
port as string representation) are not only more difficult to detect but
also not supported by the majority of ontology matching tools [
        <xref ref-type="bibr" rid="ref13 ref27">13, 27</xref>
        ],
although a few approaches to tackle those problems exist [
        <xref ref-type="bibr" rid="ref26 ref5 ref6">5, 6, 26</xref>
        ]. A
slightly different approach was followed by [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], where the authors
propose a framework which defines executable semantic mappings
between ontologies based on SWRL [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] rules and string similarity.
      </p>
      <p>Nevertheless, based on the absence of ontology matching tools
which are capable of detecting such complex correspondences, we
assume the presence of already known correspondences between
entities of the ontologies for our integration scenario.
3</p>
    </sec>
    <sec id="sec-6">
      <title>WORKING EXAMPLE</title>
      <p>As working example4 a fictitious computer network is used and
represented as UML class diagrams. Figure 5 shows the customer view
(system view) of the network.</p>
      <p>The following additional constraints hold for the system view:
In the computer network every computer has a unique address
A computer can be part of 1-2 subnets</p>
      <p>A computer is part of exactly one project
3 All listings within this paper are serialized in Turtle syntax.
4 The example ontologies and queries are available upon request from the first
author.
A project is some arbitrary subdivision of the whole network (e.g.
building)</p>
      <p>A subnet can be part of multiple projects
In the example there are 2 vendors (A and B), each providing their
own configurator. A project can be configured either with configurator
A or configurator B. In both cases there is one configurator database
for every project. None of the domain models contains the concept of
a subnet as found in the system view.</p>
      <p>Figure 6a shows the domain model of configurator A. In the domain
model of configurator A computers are called devices. Internal devices
are the devices configured in the current project. External devices
are devices of other projects that are directly connected to a internal
device. These are needed to configure the network cards of the internal
device.</p>
      <p>Figure 7a shows the domain model of configurator B. Vendor B
realizes the computer network with switches. Computers can have
1 or 2 ports, which must be connected to a port of an switch. The
attribute external is set to ’true’ for elements that are external to the
current project.
3.1</p>
    </sec>
    <sec id="sec-7">
      <title>Converting object-oriented models to ontologies</title>
      <p>
        Although using Description Logics for configuration has a long
history [
        <xref ref-type="bibr" rid="ref10 ref20 ref28">10, 20, 28</xref>
        ] in our experience large scale industrial configurators
mostly use some form of UML-like object-oriented formalisms. For
this paper we use the approach for converting object-oriented data
models and their instance data into RDF/OWL shown in Table 1.
Because of the clear correspondance between UML class diagrams and
OWL ontologies we depict ontologies also as UML class diagrams.
      </p>
      <p>
        This conversion captures the bare minimum that is required for our
data integration approach. See [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] for a more elaborate approach for
representing product configurator knowledge bases in OWL.
      </p>
      <p>Listing 1 shows a fragment of the class model of Figure 6a and the
instance data of Figure 6b in RDF &amp; OWL5.</p>
      <p>Listing 1: Ontology A with instance data
# object model
ontoA : Device rdf : type owl : Class .
ontoA : InternalDevice rdf : type owl : Class ;</p>
      <p>rdfs : subClassOf ontoA : Device .
ontoA : Device_address rdf : type
5 For the sake of simplicity, we omitted owl:DatatypeProperty and
respective project definitions.
UML
class C
C1 extends C
attribute A
assoc A(C1,C2)
object O of class C
attributevalue A
for every tuple(O1,O2)
in assoc A</p>
      <p>RDF/OWL
URI(C) rdf:type owl:Class .</p>
      <p>URI(C1) rdfs:subClassOf URI(C) .</p>
      <p>URI(A) rdf:type owl:DatatypeProperty ,
owl:FunctionalProperty ; rdfs:domain URI(C);
rdfs:range TYPE(A) .</p>
      <p>URI(A) rdf:type owl:ObjectProperty; rdfs:range
URI(C1); rdfs:domain URI(C2) .</p>
      <p>URI(O) rdf:type URI(C) .</p>
      <p>URI(O) URI(A) VALUE(A) .</p>
      <p>URI(O1) URI(A) URI(O2).
owl : DatatypeProperty ,
owl : FunctionalProperty ;
rdfs : domain ontoA : Device ;
rdfs : range xsd : unsignedInt .
ontoA : Device_slot1Connected rdf : type
owl : ObjectProperty ;
rdfs : range ontoA : Device ;
rdfs : domain ontoA : Device .
# instance data
ontoA : A1 rdf : type ontoA : InternalDevice ;
ontoA : Device_address "1" ^^ xsd : unsignedInt ;
ontoA : Device_slot1Connected</p>
      <p>ontoA : A2 , ontoA : A3 ;
ontoA : Device_slot2Connected</p>
      <p>ontoA : B3 , ontoA : B4 .
ontoA : A3 rdf : type ontoA : InternalDevice ;
ontoA : Device_address "3" ^^ xsd : unsignedInt ;
ontoA : Device_slot1Connected</p>
      <p>ontoA : A1 , ontoA : A2 .
ontoA : B1 rdf : type ontoA : ExternalDevice ;
ontoA : Device_address "4" ^^ xsd : unsignedInt ;
ontoA : Device_slot1Connected</p>
      <p>ontoA : B2 , ontoA : A1 .
ontoA : B2 rdf : type ontoA : ExternalDevice ;
ontoA : Device_address "5" ^^ xsd : unsignedInt ;
ontoA : Device_slot1Connected</p>
      <p>ontoA : B1 , ontoA : A1 .
3.2</p>
    </sec>
    <sec id="sec-8">
      <title>Unique Name Assumption and Closed World</title>
    </sec>
    <sec id="sec-9">
      <title>Assumption</title>
      <p>When converting the instance data of a configurator to RDF an
identifier (URI) for every object must be generated. Most product
configurators impose the Unique Name Assumption, i.e. objects with
different object-ID refer to different objects of the domain. In the
example above we therefore know that ontoA:A1 and ontoA:A2 refer
to different Devices.</p>
      <p>RDF/OWL does not impose the Unique Name Assumption. This
is a desirable feature when reasoning about linked data. If one wants
to integrate instance data from different sources using heterogeneous
ontologies, these ontologies will often refer to the same entity under
different URIs. The same can happen, when we integrate multiple
interconnected configurations into one configuration.</p>
      <p>Figures 6b and 7b show the configurations of two projects (A and
B). Although every computer/device is only represented once in each
configuration, some computers/device are known in both projects
(a) Ontology A
(b) Instance data of Project A
i.e. the ExternalDevice ontoA:B1 and the Computer ontoB:B1 are
referring to the same real world object under different URIs.</p>
      <p>As a pragmatic solution for the Unique Name Assumption for this
paper all URIs are treated as different, unless explicitly stated by
owl:sameAs.</p>
      <p>Similar considerations apply to the Closed World Assumption. In
a configurator database one assumes that all components relevant
to the current context are known. For instance in our example all
the computers in the current project are known and one can use the
Closed World Assumption to conclude that there are no other internal
computers. The same applies to external computers that are directly
connected to a internal computer. But we cannot apply the Closed
World Assumption to the whole computer network, since we have
no information about how many projects and computers there are in
total.
4</p>
    </sec>
    <sec id="sec-10">
      <title>DATA INTEGRATION WITH SPARQL</title>
      <p>
        We followed an approach proposed in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] which motivates the use
of SPARQL CONSTRUCT queries to perform data integration (i.e.
based on known correspondences between ontologies, we are able to
translate their instance data to be conform with the structure of the
integrated ontology).
4.1
      </p>
    </sec>
    <sec id="sec-11">
      <title>Creation of the system view</title>
      <p>As a first step in our data integration approach a system view of the
configurator specific instance data is created. This system view reflects
the view of the owner of the configured system and is completely
self contained i.e. does not contain any URIs of the domain specific
ontologies. To derive the system view from the proprietary
configurator data we use SPARQL CONSTRUCT queries. Figure 6b shows a
configuration of configurator A, Figure 7b shows a configuration of
configurator B. The projects of the two configurations are connected
via the subnet containing A1(C1), B1(C4) and B2(C5).
4.1.1</p>
      <sec id="sec-11-1">
        <title>Creating instances</title>
        <p>To map an instance of the source ontology to a new instance of the
target ontology we can either generate a new URI in the namespace
of the target ontology or use blank nodes.</p>
        <p>The following example (cf. Listing 2) creates a computer in the
system ontology for every device of the source ontology A by creating
a new unique URI using a unique identifier of the target object (in this
case the attribute address).</p>
        <p>One advantage of using that approach is that for every instance
only one URI will be created in the instance data and the order of</p>
        <p>If in contrast blank nodes are used, every CONSTRUCT query
generates a new blank node for a source object. Therefore we use
blank nodes only, when it is not possible or inconvenient to create a
unique URI for an instance. In our example, since there is no identifier
for projects in the source ontology, new projects can be created with
the CONSTRUCT query shown in Listing 3.</p>
        <p>Listing 3: Instance creation with blank node
CONSTRUCT {
_:p rdf : type ontoSys : Project .</p>
        <p>_:p ontoSys : origin ? project .
}
WHERE {</p>
        <p>? project rdf : type ontoA : Project .</p>
        <p>By using the special object-property ontoSys:origin, we can
keep track what led to the construction of the blank node. This
information can then reused in subsequent CONSTRUCT queries.</p>
      </sec>
      <sec id="sec-11-2">
        <title>4.1.2 Complex mapping</title>
        <p>Sometimes it is more to convenient to use multiple URIs for the same
instance, especially if there is no explicit representation of the concept
of the object in the source ontology. These multiple URIs will then be
related using owl:sameAs.</p>
        <p>In our example the concept of a subnet is not directly represented
in ontology A. To create the subnets for instance data of ontology A a
more complex query is necessary as depicted in Listing 4.</p>
        <p>Listing 4: Creating subnets from instance data
# C = abbreviation for URI of Computer
# SIRI = abbreviation for URI of subnets
CONSTRUCT {
? sub1 ontoSys : Subnet_computers ?c1 .
? sub2 ontoSys : Subnet_computers ?c2 .
? sub1 rdf : type ontoSys : Subnet .
? sub2 rdf : type ontoSys : Subnet .</p>
        <p>? sub1 owl : sameAs ? sub2 .
}
WHERE {
{ ?d1 ontoA : Device_slot1Connected ?d2 .</p>
        <p>?d1 ontoA : Device_address ?a1 .</p>
        <p>BIND ( CONCAT ( STR (? a1),"_1") AS ? sid1 )
} UNION {
?d1 ontoA : Device_slot2Connected ?d2 .
?d1 ontoA : Device_address ?a1 .</p>
        <p>BIND ( CONCAT ( STR (? a1),"_2") AS ? sid1 ) . }
{ ?d2 ontoA : Device_slot1Connected ?d1 .</p>
        <p>?d2 ontoA : Device_address ?a2 .</p>
        <p>BIND ( CONCAT ( STR (? a2),"_1") AS ? sid2 )
} UNION {
?d2 ontoA : Device_slot2Connected ?d1 .
?d2 ontoA : Device_address ?a2 .</p>
        <p>BIND ( CONCAT ( STR (? a2),"_2") AS ? sid2 ) . }
BIND ( URI ( CONCAT (C, STR (? a1 ))) AS ?c1)
BIND ( URI ( CONCAT (C, STR (? a2 ))) AS ?c2)
BIND ( URI ( CONCAT (SIRI , STR (? sid1 ))) AS ? sub1 )
BIND ( URI ( CONCAT (SIRI , STR (? sid2 ))) AS ? sub2 )
}</p>
      </sec>
    </sec>
    <sec id="sec-12">
      <title>5 USING THE INTEGRATED MODEL</title>
      <p>The data of the different systems is available and expressed in terms of
a common ontology. We can now access the data in a uniform manner
and perform different kinds of operations. This section presents two
classes of use cases, namely posing queries over the whole system
and checking constraints concerning several systems.
5.1</p>
    </sec>
    <sec id="sec-13">
      <title>Queries</title>
      <p>After the data-integration the former heterogeneous data can now
be queried in a uniform manner using only concepts of the system
ontology.</p>
      <p>Listing 5: Example Quering the system model
# return all the addresses used in project
SELECT ?p ? address
WHERE {
?p ontoSys : Project_computers ?c .
?c ontoSys : Computer_address ? address .
If one wants to query information specific to a domain ontology, this
data is still accessible via the ontoSys:origin link. One use case for
using the ontoSys:origin property, is to detect inconsistencies in
the source data. For example if a subnet is part of two projects, for
every computer in that subnet, there must be two representations in the
source ontologies (In one of these projects the computer is external).
The following query checks this property.</p>
      <p>Listing 6: Checking constraints
SELECT ?c ?o
WHERE {
? project ontoSys : Project_computers ?c .
? sub ontoSys : Subnet_computers ?c .
? sub (( owl : sameAs |^ owl : sameAs )*) ? other .
? project2 ontoSys : Project_subnets ? other .
FILTER (? project !=? project2 )
{</p>
      <p>?c ontoSys : origin ?o .
} MINUS {
?c ontoSys : origin ? o1 .
?c ontoSys : origin ? o2 .</p>
      <p>FILTER (? o1 !=? o2 )</p>
      <p>So far we checked the integrity of the instance data by
writing special SPARQL queries. Whenever these queries are not
empty a constraint violation is detected. Alternatively SPARQL
CONSTRUCT queries can be used to derive a special property
ontoSys:constraintviolation and record the reason for the
inconsistencies.</p>
      <p>Listing 7: Constraint violations
CONSTRUCT {
_: cv ontoSys : constraintviolation ?c .
_: cv ontoSys : description</p>
      <p>" inconsistent data " .
}
}
As discussed in Chapter 3.2 OWL does not impose the unique name
assumpion (UNA). Therefore it is common to have different names
(URIs) refer to the same real-world object. In that case they can be
linked via owl:sameAs. SPARQL is unaware of the special
semantics of owl:sameAs. This can be a problem, especially when using
counting aggregates, since one usually wants to count the number
of real-objects and not the number of URIs referring to it. Take for
example a query counting the number of subnets. Our construction
of subnet-URIs creates a URI for every connected port of a
computer (Figure 8). A naive SPARQL query would count all distinct
URIs that refer to the same subnet (ontoSys : S11, ontoSys : S22,
ontoSys : S31) i.e. resulting in 3 instead of the expected answer 1.
To fix this, one has to choose one representative for every element
equivalence class induced by owl:sameAs and count the number of
representatives. In our approach this is done by choosing the
lexicographically smallest element.</p>
      <p>Listing 8: Example counting predicates
# query without special treatment of sameAs
SELECT ( COUNT ( DISTINCT ? subnet ) AS ? numberofsubnets )
WHERE {</p>
      <p>? subnet a ontoSys : Subnet .
}
# result : numberofsubnets = 6
# query with special sameas treatment
# chooses the lexicographic first element
# as representation of the equivalence class
SELECT ( COUNT ( DISTINCT ? first ) AS ? numberofsubnets )
WHERE {
? subnet a ontoSys : Subnet .
# first subquery
{ SELECT ? subnet ? first</p>
      <p>WHERE {
? subnet (( owl : sameAs |^ owl : sameAs )*) ? first .
OPTIONAL {
? notfirst (( owl : sameAs |^ owl : sameAs )*) ? first .
FILTER ( STR (? notfirst ) &lt; STR (? first ))}</p>
      <p>FILTER (! BOUND (? notfirst ))}
}
}
# result : numberofsubset = 2</p>
      <p>An alternative approach would be to replace all cliques of the
RDFgraph linked by owl:sameAs with a new unique URI. We did not
consider that because it requires a proprietary implementation and by
replacing URIs, one loses information about the source of information.
For instance, if the instance data of two different configurators refer
to the same real-world object but have conflicting data-values for that
object, both values and their sources must be communicated to the
end-user.</p>
    </sec>
    <sec id="sec-14">
      <title>6 RELATED WORK</title>
      <p>
        In order to successfully perform data or information integration using
Semantic Web technologies two main issues have to be addressed,
namely:
Ontology Mapping Tackling the difficulties of Ontology Mapping
(i.e. defining alignments between ontologies) extensive studies have
been taken out over the last couple of years [
        <xref ref-type="bibr" rid="ref11 ref12 ref19 ref2">2, 11, 12, 19</xref>
        ], mainly
focusing on resolving heterogeneity among different ontologies or
data sources by detecting similarities amongst them.
      </p>
      <p>
        Ontology Integration Two main approaches can be identified for
integrating different ontologies [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], (i) define an upper ontology
which contains general concepts and properties for those in the
underlying more specific ones and define mappings between them
and (ii) define alignments directly between underlying ontologies
and use query rewriting for query support [
        <xref ref-type="bibr" rid="ref25 ref3">3, 25</xref>
        ].
      </p>
      <p>
        With its W3C Recommendation for version 1.1 in 2013 [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
introducing e.g. UPDATE queries and a revised entailment regime,
SPARQL has become more feasible to be used within information
integration scenarios and not only as query language for RDF data.
      </p>
      <p>
        Our approach can be used for data integration of distributed
configurations and for reasoning about the consistency of the integrated
system. It can not be used to solve (distributed) configuration problems.
For a CSP-based approach on how to solve distributed configuration
problems see [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
7
      </p>
    </sec>
    <sec id="sec-15">
      <title>CONCLUSIONS</title>
      <p>When we started out writing this paper, we were looking for a
lightweight approach for data integration for distribute configurations
using standard Semantic Web technologies.</p>
      <p>In the present paper we show that using solely SPARQL and RDFS
is sufficient for an approach that relies only on standards and makes
it easy to introduce new concepts and individuals on the fly using
SPARQL queries. This is especially important for practical use cases,
where it is unpredictable which information a customer will request
about the configured system.</p>
      <p>We tested our approach with real-world data. On a standard
Windows-7 laptop with 8 GB using the SPARQL-API of JENA 2.11.1
a large database (&gt;50000 instances) can be integrated in less than 5
minutes resulting in a RDF-graph with more than 500000 triples.</p>
      <p>We also considered using OWL reasoners but could not find a
solver-independent way of creating new individuals. Nevertheless, for
future work we plan to look into using richer OWL ontologies, which
would offer the possibility to use configurator specific concepts such
as part-subpart, resource, (hardware-)component etc.</p>
      <p>As can be seen in the example SPARQL queries in this paper, some
queries ( especially the ones that take into account owl:sameAs
properties), are only understandable for a SPARQL expert. One approach
for making queries more accessible for a SPARQL beginner would be
to hide the special treatment of owl:sameAs from the inexperienced
user by using query rewriting.</p>
    </sec>
    <sec id="sec-16">
      <title>ACKNOWLEDGEMENTS</title>
      <p>Stefan Bischof and Simon Steyskal have been partially funded by
the Vienna Science and Technology Fund (WWTF) through project
ICT12-015.</p>
      <p>Simon Steyskal has been partially funded by ZIT, the Technology
Agency of the City of Vienna (Austria), in the programme ZIT13 plus,
within the project COSIMO (Collaborative Configuration Systems
Integration and Modeling) under grant number 967327.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>David</given-names>
            <surname>Beckett</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Tim</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>Eric Prud'hommeaux, and</article-title>
          <string-name>
            <given-names>Gavin</given-names>
            <surname>Carothers. Turtle - Terse RDF Triple Language. W3C Candidate Recommendation</surname>
          </string-name>
          ,
          <year>February 2013</year>
          . http://www.w3.org/TR/2013/ CR-turtle-
          <volume>20130219</volume>
          /.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Namyoun</given-names>
            <surname>Choi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Il-Yeol Song</surname>
          </string-name>
          , and Hyoil Han, '
          <article-title>A survey on ontology mapping'</article-title>
          ,
          <source>ACM Sigmod Record</source>
          ,
          <volume>35</volume>
          (
          <issue>3</issue>
          ),
          <fpage>34</fpage>
          -
          <lpage>41</lpage>
          , (
          <year>2006</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Gianluca</given-names>
            <surname>Correndo</surname>
          </string-name>
          , Manuel Salvadores, Ian Millard, Hugh Glaser, and Nigel Shadbolt, '
          <article-title>Sparql query rewriting for implementing data integration over linked data'</article-title>
          ,
          <source>in Proceedings of the 2010 EDBT/ICDT Workshops</source>
          , p.
          <fpage>4</fpage>
          . ACM, (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Chris</surname>
            <given-names>J</given-names>
          </string-name>
          <string-name>
            <surname>Date and Hugh Darwen</surname>
            ,
            <given-names>SQL. Der</given-names>
          </string-name>
          <string-name>
            <surname>Standard</surname>
          </string-name>
          .: SQL/92 mit den Erweiterungen CLI und PSM.,
          <source>Pearson Deutschland GmbH</source>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Robin</given-names>
            <surname>Dhamankar</surname>
          </string-name>
          , Yoonkyong Lee, AnHai Doan, Alon Halevy, and Pedro Domingos, '
          <article-title>imap: discovering complex semantic matches between database schemas'</article-title>
          ,
          <source>in Proceedings of the 2004 ACM SIGMOD international conference on Management of data</source>
          , pp.
          <fpage>383</fpage>
          -
          <lpage>394</lpage>
          . ACM, (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>AnHai</given-names>
            <surname>Doan</surname>
          </string-name>
          and Alon Y Halevy, '
          <article-title>Semantic integration research in the database community: A brief survey'</article-title>
          ,
          <source>AI magazine</source>
          ,
          <volume>26</volume>
          (
          <issue>1</issue>
          ),
          <fpage>83</fpage>
          , (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Jérôme</given-names>
            <surname>Euzenat</surname>
          </string-name>
          , Axel Polleres, and François Scharffe, '
          <article-title>Processing ontology alignments with sparql'</article-title>
          ,
          <source>in Complex, Intelligent and Software Intensive Systems</source>
          ,
          <year>2008</year>
          . CISIS 2008. International Conference on, pp.
          <fpage>913</fpage>
          -
          <lpage>917</lpage>
          . IEEE, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Jérôme</given-names>
            <surname>Euzenat</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Pavel</given-names>
            <surname>Shvaiko</surname>
          </string-name>
          , et al.,
          <article-title>Ontology matching</article-title>
          , volume
          <volume>18</volume>
          , Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A.</given-names>
            <surname>Felfernig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Hotz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Bagley</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Tiihonen</surname>
          </string-name>
          ,
          <article-title>Knowledge-based Configuration: From Research to Business Cases</article-title>
          , Elsevier Science,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Alexander</surname>
            <given-names>Felfernig</given-names>
          </string-name>
          , Gerhard Friedrich, Dietmar Jannach, Markus Stumptner, and Markus Zanker, '
          <article-title>Configuration knowledge representations for semantic web applications'</article-title>
          ,
          <source>AI EDAM</source>
          ,
          <volume>17</volume>
          (
          <issue>1</issue>
          ),
          <fpage>31</fpage>
          -
          <lpage>50</lpage>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Chiara</given-names>
            <surname>Ghidini</surname>
          </string-name>
          and Luciano Serafini, '
          <article-title>Mapping properties of heterogeneous ontologies'</article-title>
          ,
          <source>in Artificial Intelligence: Methodology, Systems, and Applications</source>
          ,
          <volume>181</volume>
          -
          <fpage>193</fpage>
          , Springer, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Chiara</surname>
            <given-names>Ghidini</given-names>
          </string-name>
          , Luciano Serafini, and Sergio Tessaris, '
          <article-title>On relating heterogeneous elements from different ontologies'</article-title>
          ,
          <source>in Modeling and Using Context</source>
          ,
          <fpage>234</fpage>
          -
          <lpage>247</lpage>
          , Springer, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Bernardo</given-names>
            <surname>Cuenca</surname>
          </string-name>
          <string-name>
            <surname>Grau</surname>
          </string-name>
          , Zlatan Dragisic, Kai Eckert, Jérôme Euzenat, Alfio Ferrara, Roger Granada, Valentina Ivanova, Ernesto Jiménez-Ruiz, Andreas Oskar Kempf,
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Lambrix</surname>
          </string-name>
          , et al.,
          <article-title>'Results of the ontology alignment evaluation initiative 2013'</article-title>
          ,
          <source>in Proc. 8th ISWC workshop on ontology matching (OM)</source>
          , pp.
          <fpage>61</fpage>
          -
          <lpage>100</lpage>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Steve</given-names>
            <surname>Harris</surname>
          </string-name>
          and Andy Seaborne, '
          <article-title>Sparql 1.1 query language'</article-title>
          ,
          <source>W3C Reccomendation</source>
          ,
          <volume>14</volume>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Hayes and Brian McBride</surname>
          </string-name>
          .
          <article-title>Rdf semantics</article-title>
          .
          <source>W3C Recommendation</source>
          ,
          <year>February 2004</year>
          . http://www.w3.org/TR/rdf-mt/.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Ian</surname>
            <given-names>Horrocks</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Peter F Patel-Schneider</surname>
            , Harold Boley, Said Tabet, Benjamin Grosof,
            <given-names>Mike</given-names>
          </string-name>
          <string-name>
            <surname>Dean</surname>
          </string-name>
          , et al.,
          <article-title>'Swrl: A semantic web rule language combining owl and ruleml', W3C Member submission</article-title>
          ,
          <volume>21</volume>
          ,
          <fpage>79</fpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Dietmar</given-names>
            <surname>Jannach</surname>
          </string-name>
          and Markus Zanker, '
          <article-title>Modeling and solving distributed configuration problems: A csp-based approach', Knowledge and Data Engineering</article-title>
          , IEEE Transactions on, (
          <volume>99</volume>
          ),
          <fpage>1</fpage>
          -
          <lpage>1</lpage>
          , (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Ernesto</given-names>
            <surname>Jiménez-Ruiz</surname>
          </string-name>
          and
          <article-title>Bernardo Cuenca Grau, 'Logmap: Logicbased and scalable ontology matching'</article-title>
          ,
          <source>in The Semantic Web-ISWC</source>
          <year>2011</year>
          ,
          <volume>273</volume>
          -
          <fpage>288</fpage>
          , Springer, (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>Yannis</given-names>
            <surname>Kalfoglou</surname>
          </string-name>
          and Marco Schorlemmer, '
          <article-title>Ontology mapping: the state of the art', The knowledge engineering review</article-title>
          ,
          <volume>18</volume>
          (
          <issue>01</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>31</lpage>
          , (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Deborah L. McGuinness</surname>
          </string-name>
          and
          <string-name>
            <surname>Jon R. Wright</surname>
          </string-name>
          , '
          <article-title>An industrial strength description logics-based configurator platform'</article-title>
          ,
          <source>IEEE Intelligent Systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ),
          <fpage>69</fpage>
          -
          <lpage>77</lpage>
          , (
          <year>July 1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>DuyHoa</given-names>
            <surname>Ngo and Zohra Bellahsene</surname>
          </string-name>
          , 'Yam++
          <article-title>: a multi-strategy based approach for ontology matching task'</article-title>
          ,
          <source>in Knowledge Engineering and Knowledge Management</source>
          ,
          <fpage>421</fpage>
          -
          <lpage>425</lpage>
          , Springer, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <surname>Natalya</surname>
            <given-names>F Noy</given-names>
          </string-name>
          , '
          <article-title>Semantic integration: a survey of ontology-based approaches'</article-title>
          ,
          <source>ACM Sigmod Record</source>
          ,
          <volume>33</volume>
          (
          <issue>4</issue>
          ),
          <fpage>65</fpage>
          -
          <lpage>70</lpage>
          , (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <surname>Axel</surname>
            <given-names>Polleres</given-names>
          </string-name>
          , '
          <fpage>Sparql1</fpage>
          .
          <article-title>1: New features and friends (owl2, rif)'</article-title>
          ,
          <source>in Web Reasoning and Rule Systems</source>
          ,
          <volume>23</volume>
          -
          <fpage>26</fpage>
          , Springer, (
          <year>2010</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <surname>Han</surname>
            <given-names>Qin</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Dejing</given-names>
            <surname>Dou</surname>
          </string-name>
          , and Paea LePendu, '
          <article-title>Discovering executable semantic mappings between ontologies', in On the Move to Meaningful Internet Systems 2007: CoopIS, DOA</article-title>
          , ODBASE, GADA, and IS,
          <fpage>832</fpage>
          -
          <lpage>849</lpage>
          , Springer, (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>Bastian</given-names>
            <surname>Quilitz</surname>
          </string-name>
          and Ulf Leser, '
          <article-title>Querying distributed rdf data sources with sparql'</article-title>
          ,
          <source>in The Semantic Web: Research and Applications</source>
          ,
          <volume>524</volume>
          -
          <fpage>538</fpage>
          , Springer, (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>Dominique</surname>
            <given-names>Ritze</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Christian</given-names>
            <surname>Meilicke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>Sváb-Zamazal</surname>
          </string-name>
          , and Heiner Stuckenschmidt, '
          <article-title>A pattern-based ontology matching approach for detecting complex correspondences'</article-title>
          ,
          <source>in ISWC Workshop on Ontology Matching</source>
          ,
          <source>Chantilly (VA US)</source>
          , pp.
          <fpage>25</fpage>
          -
          <lpage>36</lpage>
          . Citeseer, (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>Pavel</given-names>
            <surname>Shvaiko</surname>
          </string-name>
          and Jérôme Euzenat, '
          <article-title>Ontology matching: state of the art and future challenges', Knowledge and Data Engineering</article-title>
          , IEEE Transactions on,
          <volume>25</volume>
          (
          <issue>1</issue>
          ),
          <fpage>158</fpage>
          -
          <lpage>176</lpage>
          , (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <surname>Timo</surname>
            <given-names>Soininen</given-names>
          </string-name>
          , Juha Tiihonen, Tomi Männistö, and Reijo Sulonen, '
          <article-title>Towards a general ontology of configuration'</article-title>
          ,
          <source>Artif. Intell. Eng. Des. Anal. Manuf</source>
          .,
          <volume>12</volume>
          (
          <issue>4</issue>
          ),
          <fpage>357</fpage>
          -
          <lpage>372</lpage>
          , (
          <year>September 1998</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <surname>Dong</surname>
            <given-names>Yang</given-names>
          </string-name>
          , Rui Miao,
          <string-name>
            <surname>Hongwei Wu</surname>
          </string-name>
          , and Yiting Zhou, '
          <article-title>Product configuration knowledge modeling using ontology web language'</article-title>
          ,
          <source>Expert Syst. Appl.</source>
          ,
          <volume>36</volume>
          (
          <issue>3</issue>
          ),
          <fpage>4399</fpage>
          -
          <lpage>4411</lpage>
          , (
          <year>April 2009</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>