<!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>
      <journal-title-group>
        <journal-title>Syst.</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>SLUBM: An Extended LUBM Benchmark for Stream Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tu Ngoc Nguyen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolf Siberski</string-name>
          <email>siberskig@l3s.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>L3S Research Center Leibniz Universitat Hannover Appelstrasse 9a D-30167</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2008</year>
      </pub-date>
      <volume>5</volume>
      <issue>2</issue>
      <abstract>
        <p>Stream reasoning is now emerging as a hot topic in the context of Semantic Web. As the number of data sources that continuously generates data streams emulating real-time events are increasing (and getting more diverse, i.e., from social networks to sensor networks), the task of exploiting the temporal aspects of these dynamic data becomes a real challenge. Stream reasoning is another form of the traditional reasoning, that works with streaming (dynamic, temporal) data over an underlying (static) ontology. There have been many existing reasoning systems (or newly proposed) trying to cope with the problems of stream reasoning but there is yet no standard to measure the performance and scalability of such systems. This paper proposes a benchmarking system, which is an extension to the well-known benchmark for traditional reasoning, Lehigh University Benchmark (LUBM), to make it work for stream-based experiments while retaining most of the LUBM's old standards.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        RDF Data have been prevailing in the era of Semantic Web and now has
become a major part of the World Wide Web. Together with the growth in size of
RDF data, there appears a constant need of processing heterogeneous and noisy
RDF in a stream-based approach, as the problem is faced in many di erent
applications [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1,2,3</xref>
        ] such as social networks, feeds, sensor data processing, network
monitoring, network tra c engineering and nancial markets. There are several
approaches [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5 ref6">4,5,2,6,3</xref>
        ] in coping with the challenges of stream reasoning, where
the robustness against inconsistent and continuous RDF data and the ability to
preserve useful past computations and incremental reasoning are crucial. In this
paper, we propose an enhancement of the existing predominant benchmark for
static inference engines, LUBM [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] to make it a new version for assessing the
performance of these engines in the context of stream reasoning. For simplicity,
we will use the terms stream reasoning and incremental reasoning interchangeably
throughout the paper, although they do not necessarily have the same meaning.
      </p>
      <p>There are two main contributions of this paper. First, we introduce a
benchmark that is speci cally designed for testing the performance of incremental
reasoning engines. To the best of our knowledge, this is the rst benchmark
that provides a practical measuring method for assessing the capabilities of such
systems. Secondly, we conduct extensive experiments using our benchmark to
measure the performance of a number of state-of-the-art reasoning engines of
different types (i.e., OWL-DL, rule-based) which are streamable or can be adapted
to process stream data. We are con dent this will aid the improvement of these
tested engines toward the domain of stream reasoning.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Stuckenschmidt et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] analyzed the characteristics of existing reasoning
systems towards expressive stream reasoning and proposed possible extensions to
overcome their drawbacks. They pointed out the technologies of C-SPARQL,
RETE and incremental reasoning in description logics (DL) can support
incremental reasoning but are not explicitly meant for processing data streams with
newer facts are more relevant. Accordingly, they proposed an ideal system
concept to cope with the complexity of reasoning with rapid changes. The proposed
architecture is used as the backbone of this paper, in building up our stream
reasoning benchmark.
      </p>
      <p>
        There are plenty of di erent works that provide a benchmarking assessment
for RDF storage systems. We classify these systems into two di erent categories:
reasoning -based and SPARQL-based, since the semantics of RDF and RDFS are
omitted in the SPARQL speci cation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
2.1
      </p>
      <sec id="sec-2-1">
        <title>Reasoning-based Benchmarks</title>
        <p>
          LUBM [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] is a benchmark for OWL knowledge base systems, consisting of a
university ontology and an ABox of arbitrarily large scalability. LUBM
provides a university database where the components i.e., university, departments,
professors, students can be polynomially generated. The benchmark ontology
is expressed in OWL Lite language. However, the reasoning in response to the
proposed queries does not require to support OWL Lite reasoning. Alternatively,
it can simply perform by realizing the Abox [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. LUBM o ers 14 well-designed
test queries1 that fully cover the features of a traditional reasoning system. One
disadvantage of LUBM is whereas the data volume can grow polynomially by
the number of university generated, the complexity of these queries remains due
to the sparseness of the data, re ecting by no connection links between the
university instances. UOBM [10] is an extension version of LUBM and addresses the
incompleteness of LUBM in fully supporting OWL Lite or OWL DL inference.
UOBM provides two di erent versions of the university ontology in OWL Lite
and OWL DL. External links between members in di erent university instances
are also added to create connected graphs rather than the old isolated ones in
LUBM. This exponentially raises up complexity for scalability testing.
        </p>
        <sec id="sec-2-1-1">
          <title>1 http://swat.cse.lehigh.edu/projects/lubm/query.htm</title>
          <p>2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>SPARQL-based Benchmarks</title>
        <p>SP2Bench [11], is a framework which measures the performance of triple stores in
response to speci ed query language, SPARQL. The framework consists of two
parts, the data generator, provide arbitrarily DBLP-like models in RDF format
and the collection of 17 benchmark queries, designed to test all strengths and
weaknesses of SPARQL engines. Berlin SPARQL benchmark (BSBM) [12],
addresses the untapped part of SPARQL-to-SQL rewriting sytems of SP2Bench. It
provides a set of measurements of which, deep comparisons between native RDF
stores and systems rewriting SPARQL-to-SQL against its relational databases
are carried out. BSBM emulates e-commerce scenarios in which the query mix is
designed to follow a customer's search and navigation pattern while looking for
a product. On the other hand, OpenRuleBench [13] provides a suite of
benchmark for analyzing the performance and scalability of rule-based systems at Web
scale. OpenRuleBench partitions rule-based systems into ve di erent categories:
Prolog-based systems, Deductive databases, Rule engines for triples, Production
and reactive rule systems, and Knowledge-base systems. The OpenRuleBench
test suite includes a set of test derived from LUBM, adopting three out of its 14
queries. The three adopted queries are Query1, Query2 with high selectivity (i.e.,
each tuple of a join of 2 relation is joined with only a small number of tuples in
the other relation) and Query3 with lower selectivity. Toward stream reasoning,
Zang et al. [14] proposed SRBench, an RDF/SPARQL benchmark framework
that covers dynamic reasoning in a stream-based context. However, the set of
SRBench queries is restricted to sensor domain and is not clear to be easily and
widely adapted like LUBM (e.g., to rule-based systems).
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Systems Tested</title>
      <p>In this work, we select the state-of-the-art reasoning engines for testing. The
engines are widely used in many applications, and they are either meant for or
adaptable for stream-based reasoning.
3.1</p>
      <sec id="sec-3-1">
        <title>RDF Frameworks</title>
        <p>Jena2 is the state-of-the-art Java framework for building Semantic Web
applications. Jena provides functionalities for triplet store, RDFS/OWL processing,
reasoning and querying using SPAQRL. Jena reasoning module provides an
interface for easy plugging in of external inference engines. OWLAPI3 provides
a high level application programming interface for creating and manipulating
OWL Ontologies. Unlike Jena that support triple-based abstraction, OWLAPI
focuses on a higher level of OWL abstraction syntax, the axioms. In this work,
we study the two frameworks with an external reasoner component, Pellet.</p>
        <sec id="sec-3-1-1">
          <title>2 http://jena.apache.org/</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>3 http://owlapi.sourceforge.net/</title>
          <p>3.2</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Pellet</title>
        <p>Pellet4 is an open source OWL-DL reasoner that supports incremental reasoning
via two di erent approaches: incremental classi cation for ABoxes and
incremental consistency checking for TBoxes. Incremental classi cation is a
reasoning technique in Description Logic, which is used for incremental subsumption
checking. Whereas this approach incrementally checks for changes in relations
between classes in the ontology hierarchy (i.e., A subClassOf B or not), it
requires expensive computational cost that makes Pellet work ine ciently when
it comes to processing with continuous streams of data. Incremental consistency
checking is used to instantly detect the consistency between triples in the KB.
With that, Pellet removes the old triple facts that cause con ict with the newer
triple facts and continuously look for inconsistencies in the KB without running
all reasoning steps from scratch. This feature makes Pellet a potential
candidate for stream reasoning, where the reasoner needs to be robust against the
upcoming facts into the dynamic KB.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>C-SPARQL</title>
        <p>
          C-SPARQL is a new query language designed for data stream processing, based
on the syntax of SPARQL with advanced features to support retrieving
continuous results at runtime. The query range is applied on a speci able sliding
time window, with respect to a data source of one or multiple registered data
streams combined with an optional static knowledge background. C-SPARQL
CONSTRUCT predicate, inherited from SPARQL syntax, allows query results
to be stored and registered as new streams on the y, hence making it
possible for C-SPARQL to describe production rules like inference rules. Figure 1
demonstrates the transitivity rule is constructed in C-SPARQL, the results are
contained in a newly de ned stream, namely, inf. Barbieri et al. [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] introduced
further work on C-SPARQL in the domain of incremental reasoning, where each
triple (both explicitly inserted and entailed) is tagged with an expiration time
that describes the time the triple stays valid until it is retracted out of the
inference engine. Incremental maintenance of materializations for a KB when facts
change is controlled by a set of declarative rules.
3.4
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>Jess</title>
        <p>Jess5, Java expert system shell, is a popular rule based inference engine, built
upon the Rete network, provides support for both backward and forward
chaining. Because it is built upon the Rete Network, Jess supports incremental
reasoning for forward inference. The backward chaining method in Jess requires a
special declarations to inform the Jess engine that a rule has to be red in order
to acquire some facts. Facts in Jess are classi ed as ordered and unordered facts.</p>
        <sec id="sec-3-4-1">
          <title>4 http://clarkparsia.com/pellet/</title>
        </sec>
        <sec id="sec-3-4-2">
          <title>5 http://www.jessrules.com/</title>
          <p>
            REGISTER STREAM inf COMPUTED EVERY
1s AS
PREFIX rdf:
&lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt;
PREFIX owl: &lt;http://www.w3.org/2002/07/owl&gt;
CONSTRUCT f?z ?p ?yg
FROM &lt;static source&gt;
FROM STREAM &lt;some stream&gt; [RANGE 1s STEP 1s]
WHERE f ?x ?p ?y .
?z ?p ?x.
?p rdf:type owl:TransitiveProperty
g
Data structure to describe unordered facts in Jess are de ned by templates.
E.g. a template for RDF triple in Jess is : (deftemplate triple (slot subject)(slot
predicate)(slot object)
BaseVISor [
            <xref ref-type="bibr" rid="ref10">15</xref>
            ] is a forward chaining inference engine, based on the Rete
algorithm, which is similar to Jess. However, BaseVISor is optimized speci cally
for triple processing, the system uses a triple-based data structure with binary
predicates to express facts, hence simpli es the heavy work of pattern matching
being done by the Rete engine. BaseVISOr provides functionalities to convey
statements of n-ary predicate in RuleML and R-Entailment languages into its
native raw triple structure, the BaseVISor language. All these characteristics
make BaseVISor a good candidate for stream reasoning, where it has to deal
with stream of RDF triples.
4
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Methodology</title>
      <p>
        LUBM provides an university ontology where 43 classes are de ned, of which
including department, course, student, professor etc. The benchmark generates
triple data regardless of time. We extend LUBM by plotting its static ontology
into a temporal semantic dimension, where we reconsider all possible triple data
with respect to time. RDF Streams [
        <xref ref-type="bibr" rid="ref11">16</xref>
        ] are triples with additional timestamp
annotation, as timestamp evolves monotonically in the stream.
      </p>
      <p>... (&lt; subji; predi; obji &gt;; i)
(&lt; subji+1; predi+1; obji+1 &gt;; i+1) ...</p>
      <p>RDF Streams generated from our modi ed data generator of LUBM followed
Barbieri et al.'s de nition. The only di erence we made is, as the KB is in a
university domain, we choose a semester as the time granularity. This allows triples
in the KB to retain their semantic meaning, adding the semester period when
they are valid. By this, the timestamp of triple facts still follows a monotonic
Object Property
has a degree from
has as a member
has as a research project
has as an alumnus
is a TA for
is about
is a liated with
is being advised by
is taking
publishes
teaches
was written by
evolution and are semantically validated by academic semesters. As the
consequence, there is a batch of facts corresponding to every semester. In this semester
timespan, a semester can be considered as a time slice where facts in the newest
time slice are all relevant. We dont use ner-grain time granularity to a semester
(e.g., day or week) because this time slide length ensures a good proportion of
dynamic data in a university data-generated context of LUBM.</p>
      <p>... (&lt;Department0.University0/GraduateStudent31, ub:takesCourse ,</p>
      <p>Department1.University0/GraduateCourse1&gt;, semester0 ) ...</p>
      <p>As the time evolves, the benchmark re-generates university data recursively
as complete batches (complete university data) of information. After each
recursion, dynamic data in the KB of the previous semester are considered expired
and must be retracted and replaced by newer data (of the new semester). In
our system architecture described in Figure 2, the RDF Handler module only
accepts triples (generated from LUBM ABox) with temporal annotation after
the rst recursion. This mechanism guarantees the inference engine does not
have to process duplicate static data (already there in the rst round). Table
1 provides a list of all object properties provided in the LUBM Ontology. The
object properties are classi ed with regards to the change probability over time
of the according objects in its range. We heuristically de ne three distinct
predicate classes, namely static, near-dynamic and dynamic. Static is labeled for those
predicates which re ect facts that are true for the whole timespan, while dynamic
indicates those predicates that the fact validity changes constantly for every time
slice or every window of time slices in the case of near-dynamic. For example, has
a degree from refers to a constant fact where the object class of ub:University
is labeled as static, while a subject instance with teaches has a more subject to
change object instance (e.g., a teacher is assigned to teach di erent subjects in
di erent semester). Therefore, with respect to the time dimension of semester
unit, teaches is marked as dynamic. The temporal predicates (dynamic and
neardynamic decides the proportion of dynamic data generated in each recursion, and
hence, the complexity of the temporal data (towards reasoning engines).</p>
      <p>
        Stuckenschmidt et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] described a conceptual view of a stream reasoner
where data streams are processed from high frequent ne grain data streams into
low frequent aggregated events. They also proposed a desired architecture for
stream reasoners to deal with the trade-of between its methods' complexity and
the frequency of data stream (e.g., description logics are not able to deal with
high frequency data streams). On the lower level, raw data stream are fed into
a stream data management system that warps the data stream into a virtual
RDF data models, before being passed to higher levels of logic programs and
description logic. In our extended LUBM, we reduce the trivial work for tested
reasoners by omitting the bottom level of the cascading hierarchy of stream
reasoning. In particular, the benchmark provides a triple bu er (in RDFHandler
in Figure 2), where data streams generated directly from LUBM are processed
and from that RDF triples are consolidated and streamed into the reasoner.
      </p>
      <p>In the communication module, we replace the original way of data
transfering in traditional LUBM (which RDF data are serialized into les and the les
then will be read by the reasoner), by a stream-based protocol. Here, LUBM
data generator (the RDFWriter module in particular), is improved to
establish a TCP/IP socket connection with experimented reasoners. To make it
uniformly work, we introduce a data bu er that temporarily stores stream data
from LUBM, RDFHandler, where RDF stream is parsed into RDF triples and
these triples will be then fed into the tested reasoner via its API interface for
processing.</p>
      <p>For stream reasoning, inference rules for rule-based reasoning engines are
redesigned. Table 2 contains a list of the most important inference rules and
introduces a time-to-last 4t which describes the expiration time of the
conclusions that derive from these rst-order rules. Time-to-last 4t has a lower bound
of one semester, the time unit of the time dimension, and has no restriction in
the upper bound as a derived fact can last for several semesters. In our extended
LUBM, for consistency purpose, a time-to-last 4t of an inference rule is de ned
as the minimum number of time units for facts that constitutes the rst part of
Temporal
Inference Rule
transitive
subclass-type
transitive
subproperty-type
transitive
symmetry
inverse
equivalent</p>
      <p>Description
(s0, p0, o0) (o0, p0,o1) (p0, rdf:type, owl:TransitiveProperty))
) (assert ((s0, p0, o1), 4t))
(s0, rdfs:subClassOf, o0) (o0, rdf:type, o1) ) (assert ((s0,
rdf:type, o1), 4t))
(p0, rdfs:subPropertyOf, p1) (s0, p0, o0) ) (assert ((s0, p1,
o0), 4t))
(p0, rdf:type, owl:SymmetricProperty) (s0, p0, o0) ) (assert
(o0, p0, s0), 4t))
(p0, owl:inverseOf, p1) (s0, p0, o0) ) (assert (o0, p1, s0),
4t))
(o0, owl:equivalentClass, o1) (s0, rdf:type, o0) ) (assert (s0,
rdf:type, o1), 4t))
the inference rules stay in the system until one of them is removed out of the
KB (so that, the outdated inferenced fact is also removed).
5</p>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>
        All experiments were conducted under Linux 2.6.x 64 bit, on top of a server
computer with an Intel(R) Xeon(R) E7520 1.87GHz processor and 80GB memory.
The Java engine was OpenJDK 1.6.0 24. We experimented with four di erent
reasoning engines, two of them are RETE-based (Jess, BaseVISOr), one
description logic-based (Pellet, together with Jena and OWLAPI) and one is the
engine of C-SPARQL. 14 LUBM queries are re-used to assess the engine
performances in a stream-based approach. We measured the loading time, query
response time and the completeness and soundness of the returned results from
the tested engines. For simplicity, we chose takescourse as the only temporal
predicate (adding other predicates does not signi cantly change the
complexity of the system). Hence, there is approximately 10% of the generated data
are dynamic (measured by the proportion between the numbers of facts with
takescourse predicate and the total number of facts). We rst experimented
with Jess engine for the load+inference (loading triple and inference on the y)
of Stream LUBM (1,0,5),which is LUBM (1,0) running over 5 semester. The
results surprisingly show that Jess engine, based on the RETE algorithm (ideal
for real-time pattern matching [
        <xref ref-type="bibr" rid="ref12">17</xref>
        ]), gave a low performance for this test. It
took Jess 419,82s for the load+inference time and 414,14s for answering LUBM
Query 14 with 5403 results. For the same dataset, BaseVISor, a similar
RETEbased engine with optimization on triple processing, outperforms Jess, spending
11,33s for loading time and 0,14s for Query 14. Because of this, we decided to
omit further results of Jess in this paper.
      </p>
      <p>BaseVISor, Pellet+Jena and Pellet+OWLAPI are fed with data from di
erent range. Figure 3 shows the response time on LUBM queries of BaseVISor for
Query 5, Query 6, Query 13 and Query 14. In general, BaseVISor performed well
in the incremental reason fashion as computation is reduced to minimal after
the rst or second semester. We chose Query 14 for most of the test scenarios
(although it has the lowest complexity among LUBM 14 queries) because the
query guarantees a large result set that is in propositional to the size of the
generated LUBM data. It can be seen that the accumulation of computation as the
engine takes more time on the rst semester and takes signi cantly less time on
the following semesters. Figure 4 indicates the time BaseVISor uses to response
to Query 14, the longest query time among the LUBM queries for BaseVISor
over the dataset range from LUBM (1,0,5) to (50,0,5) in 5 semesters. The chart
shows the incremental behaviour of the RETE engine after semester 1, as the
computation time needed for the next semesters are similar regardless of the size
of the dataset, and is closed to zero. The results (detailed in Table 3) indicate
BaseVISor's e ciency for stream reasoning.</p>
      <p>Because Pellet+Jena and Pellet+OWLAPI are respectively founded on Jena
and OWLAPI for RDF processing, RDF triples cannot be directly fed into both
system. The statements of Jena and axioms of OWLAPI require elements of
RDF triples to be pre-classi ed as resources and properties of the prede ned
ontology. For example, (ub:GraduateStudent0 ub:takesCourse http://www.Dep
artment0.University0.com/Course0) RDF triple, ub:GraduateStudent0 must be
recognized as an instance of ub:GraduateStudent class, similarly for the
predicate and object. Another medium module for triple classi cation is added for the
pre-processing. Pellet+Jena and Pellet+OWLAPI, are based on the Description
Logic reasoning engine of Pellet, show less signi cant gures than BaseVISor in
query time required to answer the 14 LUBM queries, however both take much
less time for data loading as tested with LUBM (5,0,5), (10,0,5), (20,0,5) and
(50,0,5) in Figure 7. Pellet+Jena and Pellet+OWLAPI performance on
incremental reasoning are measured as well as BaseVISor in Figure 5 and the results
show that the BaseVISor outperforms the two DL-based engines. We also
provide the numerical gures in Table 3 where the systems are experimented with
Query 6, Query 13 and Query 14 and di erent settings for references.</p>
      <p>We have also tested with the engine of C-SPARQL, an emerging and
promising engine for stream RDF processing. With this engine, the data stream
generated from our extended LUBM is registered as the only stream source. We have
created the inference rule set (as described in Table 2) using CONSTRUCT
predicate, in the same analogy to what we described in Figure 1. However, the
released package of C-SPARQL6 does not yet fully support stream reasoning
and as C-SPARQL returned results continuously over time, which requires a
di erent approach of querytime measurement to the rest of the tested systems,
thus we decided to present only the engine's loading time. As shown in Figure
7, C-SPARQL takes the least time to load in the data.</p>
      <sec id="sec-5-1">
        <title>6 http://streamreasoning.org/larkc/csparql/CSPARQL-ReadyToGoPack-0.8.zip</title>
        <p>In this paper, we have introduced an extension of the well-known benchmark
(LUBM) for reasoning engines over static dataset, to make it suitable for
testing stream-based systems. The extension preserves the semantic of the LUBM
ontology while adding a time dimension (of semester unit) to the KB. We run
experiments on full and partial stream reasoning supported engines (i.e.,
BaseVISor, Pellet and C-SPARQL)using our benchmark. The results re ect the
capabilities of each system in stream reasoning context, where BaseVISor
outperforms other engines in most of the test cases.</p>
        <p>For future work, we will focus on three improvements. First, our current
approach is limited to control the complexity with time (e.g., increase the
complexity the system must handle in the next semester time units). Secondly, we
want to extend the benchmark to feature a more direct measurement of the time
saved by incremental reasoning (e.g., how much computation is saved after one
time unit). And lastly, we want to extend the benchmark to generate
inconsistent facts (e.g., from di erent sources) with a parameterized rate, in order to
closely simulate noisy real-world stream-based applications.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgement</title>
      <p>This work is funded by BMBF under the project ASEV.
Query 6
ontology benchmark. In: Proceedings of the 3rd European conference on The
formance of rule engines. In: Proceedings of the 18th international conference on
out tted to process ruleml and r-entailment rules. In: Rules and Rule Markup
Languages for the Semantic Web, Second International Conference on. (2006) 67{
match problem. Arti cial Intelligence 19(1) (1982) 17 { 37</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Ceri</surname>
          </string-name>
          , S., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>It's a streaming world! reasoning upon rapidly changing information</article-title>
          .
          <source>Intelligent Systems, IEEE</source>
          <volume>24</volume>
          (
          <issue>6</issue>
          ) (
          <year>2009</year>
          )
          <volume>83</volume>
          {
          <fpage>89</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Barbieri</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braga</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Della Valle</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Incremental reasoning on streams and rich background knowledge</article-title>
          .
          <source>In: Proceedings of the 7th international conference on The Semantic Web: research and Applications - Volume Part I. ESWC'10</source>
          , Berlin, Heidelberg, Springer-Verlag (
          <year>2010</year>
          )
          <volume>1</volume>
          {
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lusch</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>S.H.</given-names>
          </string-name>
          :
          <article-title>Social media analytics and intelligence</article-title>
          .
          <source>IEEE Intelligent Systems</source>
          <volume>25</volume>
          (
          <issue>6</issue>
          ) (
          <year>2010</year>
          )
          <volume>13</volume>
          {
          <fpage>16</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Della</given-names>
            <surname>Valle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Ceri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Fensel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Harmelen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Studer</surname>
          </string-name>
          , R., eds.:
          <source>Commonsense Spatial Reasoning about Heterogeneous Events in Urban Computing, CEUR Workshop Proceedings (2009) First International Workshop on Stream Reasoning: SR2009.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Heintz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kvarnstrm</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Doherty</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Stream-based reasoning in dyknow</article-title>
          .
          <source>In: Proceedings of the Dagstuhl Workshop on Cognitive Robotics</source>
          . (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Stuckenschmidt</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Valle</surname>
          </string-name>
          , E.D., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Towards expressive stream reasoning</article-title>
          . In Aberer,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Gal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hauswirth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Sattler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.U.</given-names>
            ,
            <surname>Sheth</surname>
          </string-name>
          , A.P., eds.:
          <source>Semantic Challenges in Sensor Networks. Number 10042 in Dagstuhl Seminar Proceedings</source>
          , Dagstuhl, Germany, Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, Germany (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          , He in, J.:
          <article-title>Lubm: A benchmark for owl knowledge base systems</article-title>
          .
          <source>J. Web Sem</source>
          .
          <volume>3</volume>
          (
          <issue>2</issue>
          -3) (
          <year>2005</year>
          )
          <volume>158</volume>
          {
          <fpage>182</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Prud'hommeaux</surname>
          </string-name>
          , E.,
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>SPARQL query language for rdf</article-title>
          .
          <source>W3C Recommendation</source>
          <volume>4</volume>
          (
          <year>2008</year>
          )
          <volume>1</volume>
          {
          <fpage>106</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bock</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ji</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Volz</surname>
          </string-name>
          , R.:
          <article-title>Benchmarking OWL Reasoners</article-title>
          . In van Harmelen,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Herzig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            ,
            <surname>Piskac</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            , ,
            <surname>Qi</surname>
          </string-name>
          , G., eds.
          <source>: Proceedings of the ARea2008 Workshop</source>
          . Volume
          <volume>350</volume>
          ., http://ceur-ws.
          <source>org, CEUR Workshop Proceedings (June</source>
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          15.
          <string-name>
            <surname>Matheus</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baclawski</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kokar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Basevisor: A triples-based inference engine</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          16.
          <string-name>
            <surname>Barbieri</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Braga</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Della Valle</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossniklaus</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>C-sparql: on World wide web</article-title>
          .
          <source>WWW '09</source>
          , New York, NY, USA, ACM (
          <year>2009</year>
          )
          <volume>1061</volume>
          {
          <fpage>1062</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          17.
          <string-name>
            <surname>Forgy</surname>
            ,
            <given-names>C.L.</given-names>
          </string-name>
          :
          <article-title>Rete: A fast algorithm for the many pattern/many object pattern</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>