<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">LSQ Framework: The LSQ Framework for SPARQL Query Log Processing</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Claus</forename><surname>Stadler</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">AKSW Research Group</orgName>
								<orgName type="institution">University of Leipzig</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Muhammad</forename><surname>Saleem</surname></persName>
							<email>saleem@mail.uni-paderborn.de</email>
							<affiliation key="aff1">
								<orgName type="department" key="dep1">Data Science Group</orgName>
								<orgName type="department" key="dep2">Department of Computer Science</orgName>
								<orgName type="institution">Paderborn University</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Axel-Cyrille</forename><surname>Ngonga</surname></persName>
							<email>axel.ngonga@upb.de</email>
							<affiliation key="aff1">
								<orgName type="department" key="dep1">Data Science Group</orgName>
								<orgName type="department" key="dep2">Department of Computer Science</orgName>
								<orgName type="institution">Paderborn University</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">LSQ Framework: The LSQ Framework for SPARQL Query Log Processing</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">4D08F3B00128CD3D9AFE40EB6B23892E</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:27+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<textClass>
				<keywords>
					<term>SPARQL</term>
					<term>RDF</term>
					<term>LSQ</term>
					<term>Query Log</term>
					<term>Software Framework</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>The Linked SPARQL Queries (LSQ) datasets contain real-world SPARQL queries collected from the query logs of the publicly available SPARQL endpoints. In LSQ, each SPARQL query is represented as RDF with various structural and data-driven features attached. In this paper, we present the LSQ Java framework for creating rich knowledge graphs from SPARQL query logs. The framework is able to RDFize SPARQL query logs, which are available in different formats, in a scalable way. Furthermore, the framework offers a set of static and dynamic enrichers. Static enrichers derive information from the queries, such as their number of basic graph patterns and projected variables or even a full SPIN model. Dynamic enrichment involves additional resources. For instance, the benchmark enricher executes queries against a SPARQL endpoint and collects query execution times and result set sizes. This framework has already been used to convert query logs of 27 public SPARQL endpoints, representing 43.95 million executions of 11.56 million unique SPARQL queries. The LSQ queries have been used in many use cases such as benchmarking based on real-world SPARQL queries, SPARQL adoption, caching, query optimization, useability analysis, and meta-querying. Realization of LSQ required devising novel software components to (a) improve scalability of RDF data processing with the Apache Spark Big Data framework and (b) ease operations of complex RDF data models such as controlled skolemization. Following the spirit of OpenSource software development and the "don't repeat yourself" (DRY) paradigm, the work on the LSQ framework also resulted in contributions to Apache Jena in order to make these improvements readily available outside of the LSQ context.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">Introduction</head><p>Query logs allow us to bridge the theory and practice of SPARQL <ref type="bibr" target="#b0">[1]</ref>. These query logs ensure that the research conducted by the community is guided by the requirements and trends that emerge in practice. The real-world SPARQL queries that are collected from public SPARQL endpoints have multiple use-cases such as performance evaluation in real-world settings, improve caching of triplestores, analysis on SPARQL adoption, query optimization, and usability analysis etc. <ref type="bibr" target="#b1">[2]</ref>. The query logs produced by different SPARQL endpoints use different formats to syntactically represent records. In this work we consider Web Log Format and CSV. Within each format, the set of available fields -the schemas -vary. For example, the formats used by wikidata, bio2rdf, and virtuoso instances in default configuration are different schema variants of the Web Log Format <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b2">3]</ref>. Furthermore, in order to utilize real-world SPARQL queries in the aforementioned use-cases, it is required to parse these queries and annotate them with various structural and data-driven features such number of triple patterns, list of projection variables used, the different types of joins used, the results size etc. Finally, annotating SPARQL queries in existing query logs needs a scalable processing engine. For example, DBpedia public SPARQL endpoint receives more than 100k queries everyday. Similarly, the Wikidata public endpoint receives thousands of queries on daily bases.</p><p>To the best of our knowledge, there exist no generic and scalable software framework that parses these query logs to extract SPARQL queries, annotate them with different information, and convert them into an RDF dataset. To fill this research gap, we present the LSQ framework, which converts SPARQL query logs into RDF dataset and attach various structural and datadriven features to each SPARQL query. In order to perform scalable RDF conversion, we make use of the Apache Spark Big Data framework. By default, the framework supports query logs from nine different formats. Support for other logs formats can be easily done by adding log patterns into the configuration file.</p><p>This framework has already been used to convert query logs of 27 public SPARQL endpoints from various public SPARQL endpoints such as DBpedia, Wikidata, Bio2RDF, Semantic Web Dog Food etc. The resulting RDF datasets are named as LSQ V2.0 <ref type="bibr" target="#b1">[2]</ref>. The LSQ V2.0 represents 43.95 million executions of 11.56 million unique SPARQL queries, resulting in 1.24 billion triples. The LSQ queries have been used in many use cases such as benchmarking based on real-world SPARQL queries <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8,</ref><ref type="bibr" target="#b8">9,</ref><ref type="bibr" target="#b9">10,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b11">12,</ref><ref type="bibr" target="#b12">13,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b14">15]</ref>, analysis of the SPARQL adoption in different applications <ref type="bibr" target="#b15">[16,</ref><ref type="bibr" target="#b16">17,</ref><ref type="bibr" target="#b17">18]</ref>, improving caching strategies for SPARQL engines <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20,</ref><ref type="bibr" target="#b20">21,</ref><ref type="bibr" target="#b21">22,</ref><ref type="bibr" target="#b22">23]</ref>, useability analysis of the SPARQL <ref type="bibr" target="#b23">[24,</ref><ref type="bibr" target="#b24">25,</ref><ref type="bibr" target="#b25">26,</ref><ref type="bibr" target="#b26">27,</ref><ref type="bibr" target="#b27">28,</ref><ref type="bibr" target="#b28">29,</ref><ref type="bibr" target="#b29">30,</ref><ref type="bibr" target="#b30">31,</ref><ref type="bibr" target="#b31">32,</ref><ref type="bibr" target="#b32">33,</ref><ref type="bibr" target="#b33">34,</ref><ref type="bibr" target="#b34">35]</ref>, and SPARQL query optimization <ref type="bibr" target="#b35">[36,</ref><ref type="bibr" target="#b36">37,</ref><ref type="bibr" target="#b37">38,</ref><ref type="bibr" target="#b38">39]</ref>. Since the initial release of the LSQ V1.0 <ref type="bibr" target="#b2">[3]</ref>, the datasets converted by our framework have been used in more than 50 research papers <ref type="bibr" target="#b1">[2]</ref>. The scalable components developed into the LSQ framework have also contributed to the recent Apache Jena 4.6.0 release with additional improvements pending <ref type="foot" target="#foot_0">1</ref> .</p><p>The rest of the paper is organized as follows. In section 2, we present the LSQ framework. Section 3 discusses various use-cases where the datasets produced by our framework have already been used. In section 4, we present the useability instruction of this framework, followed by the availability information and sustainability plans in section 5. Finally, we conclude in section 6.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">The LSQ Framework</head><p>In this section, we first briefly explain the core architecture. The details of each component is explained later.  The RDF log is inverted such that every query is related to all log records that mention it, i.e., every query is assigned a global (w.r.t, all query logs from different endpoints) identifier. In this process, queries are represented by hashes computed with their normalized strings. Static enrichment basically extracts the static features (that can be directly derived from a SPARQL query without running it against a specific RDF dataset) relevant to SPARQL query. It extends the RDF model with a SPIN<ref type="foot" target="#foot_1">2</ref> and further static structural features such as the number of projection variables, number of triple patterns, join types and selectivities, the used syntactic elements (e.g. UNION, OPTIONAL) etc. The dynamic enrichment extracts data-driven SPARQL features such as query runtime, result size or triple pattern selectivities etc. Whereas static enrichment is independent on any dataset, dynamic enrichment needs a dataset as input. Benchmarking is a form of dynamic enrichment that extends a query's RDF model w.r.t. a dataset with result set sizes and execution times. In the following, we present these steps in detail and how LSQ inspired creation of certain components which we contributed to other frameworks in order to facilitate reuse.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1.">Named Graph Stream Processing</head><p>A fundamental design principle that is followed throughout LSQ is the entity graph paradigm, also referred to as (named-)graph-per-entity: An entity is represented by an IRI that appears in a (subject position of) triple in a named graph with the same IRI, such as GRAPH :anEntity { :anEntity :p :o }. Some Semantic Web tools (such as Virtuoso and Apache Jena) already support the use of named graphs with CONSTRUCT queries due to popular demand <ref type="foot" target="#foot_2">3</ref> , although this feature is not part of the current SPARQL specification v1.1 <ref type="foot" target="#foot_3">4</ref> . LSQ uses the entity graph approach for representing log records and SPARQL queries. The advantage of this approach are:</p><p>• The graph name acts as a natural entry point for starting exploration/traversals of the contained data. This is a convention applications (such as viewers) can support without having to rely on a specific (ad-hoc) vocabulary. • Retrieval and removal of all triples related to an entity is a simple operation on the named graph. This is of particular importance as certain models (e.g. SPIN) allow for arbitrary deeply nested tree structures in RDF which are extremely hard to query without scoping by a named graph. • Partitioning the data into self-contained named graphs is well aligned with the mapreduce paradigm: Operations on individual entities, such as enrichment operations, can be carried out naturally in parallel over a set of entity graphs using conventional Big Data frameworks. We created the necessary hadoop-based parsers as part of LSQ and contributed them to the SANSA stack (see Section 2.7). • An operation on an individual entity typically only requires its graph to be loaded rather than requiring access to all triples across all entities, which allows for stream-processing with low memory usage.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2.">Parsing Query Logs</head><p>Generally, LSQ parses query logs and transforms them into a set of named graphs of which each represents an individual log record. This means that every log file is harmonized to a common RDF model. Query logs come in different formats, and within a format there can be many different schemas. By schema we refer to the set of available attributes per log record. Manually determining the format and schema of a log is a very tedious task. For this reason, LSQ features a log format registry which can be used to probe log files against. Currently 2 types of log formats are supported: Web access log formats that are compatible with Apache HTTP server's mod_log_config <ref type="foot" target="#foot_4">5</ref> and CSV. For the former, LSQ provides a custom mapping of log fields to an RDF model, for the latter a tarql-based <ref type="foot" target="#foot_5">6</ref> approach is supported where columns of the input file are mapped to RDF using a SPARQL construct query. Support for additional mapping languages, such as RML <ref type="bibr" target="#b39">[40]</ref> or YARRML <ref type="bibr" target="#b40">[41]</ref> is future work. Note, that for the task of RDFizing a single CSV file, the practical difference between the approaches lies in syntax rather than functionality.</p><p>An excerpt of LSQ's log format registry configuration is shown in Listing 1. So far the default registry comprises 10 formats/schema combinations.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3.">Accessing RDF graphs via Object Models</head><p>The LSQ data model (see Figure <ref type="figure" target="#fig_2">2</ref>) is sufficiently complex such that manipulation solely with SPARQL turned out to be infeasible. One of the main reasons is due to the redundancy of Listing 1: RDF-based log format registry used in LSQ fmt:combined a lsq:WebAccessLogFormat ; lsq:pattern "%h %l %u %t \"%r\" %&gt;s %b \"%{Referer}i\" \"%{User-agent}i\"" . fmt:bio2rdfProcessedCsv complex graph patterns: Many patterns have to be repeated over and over again in different queries in order to address the nested resources. Especially during development, any change in the T-box requires a change in several places and debugging SPARQL queries that yield empty result sets is a tedious process. Furthermore, deterministic skolemization of the model is an important aspect: We strictly want to avoid effects such as a merge of a query's RDF resulting in doubling the number of related BGPs as would be the case if blank nodes were used. Therefore, we need a way to express how to compute the identity of entities, such as: the id of a triple pattern depends on the id of its subject, predicate and object components, the id of a BGP depends on the ids of the contained triple patterns (in order) and the id of a specific triple pattern in a BGP depends on that of the BGP and its own.</p><p>For this purpose, LSQ features a domain model realized as Java interfaces which must extend from Jena's Resource interface. The essence is, that the auto-generated implementations for this domain model then provides a view over the RDF graph; all state is kept in the RDF graph and any invocation of a "setter" method directly mutates the RDF graph whereas a "getter" method reads from it. Annotations on these interfaces are used to describe how getters and setters relate to triples in the underlying RDF graph. We use Reprogen (Resource Proxy Generator) <ref type="foot" target="#foot_6">7</ref> to generate Java proxies that implement the intended behavior of the annotations.</p><p>In order to realize skolemization, we extended Reprogen with new @HashId and @StringId annotations. @HashIds are a way to control how to compute hash codes for an RDF term in an RDF graph w.r.t. to the annotated interface. The hash code of a resource is obtained by recursively considering the hash codes of all its member methods annotated with @HashId. The @StringId annotation is used for methods that can convert hash codes to strings suitable for use in IRIs. Listing 2 shows how to programmatically generate RDF for an annotated class whereas Listing 3 shows an example for how to annotate a class. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4.">Query Id Generation</head><p>An important requirement in LSQ is determinism: Syntactically equivalent queries and their elements should always be represented by the same IRIs. The goal is to allow for the integration of different datasets generated by the same version of LSQ simply by means of merging the RDF. Generally, query strings are normalized using a parse/string serialization round trip. Query strings themselves are not suitable as identifiers because they can become very lengthy. The obvious choice is thus to resort to hashing. LSQ v1 used 8 characters of md5 hashes however it turned out that the number of queries was sufficiently large that collisions occurred. LSQ v2.0 uses sha256 with base64 encoding of the whole query string. The disadvantage was, that queries that only differed in projection or slice received unrelated hashes. As a consequence, identifying queries that only differ in their 'basic parameterization' was not possible from the hashes. LSQ A separate hash is computed from the projection: The actual projection expression strings are first sorted lexicographically and a projection-base-hash is computed from these ordered strings. The actual projection is then permutation of the sorted one, and numbering schemes exist to label permutations: We use the Lehmer-Code to obtain a number for the actual projection. For a given sequence of 𝑛 items, the Lehmer-Code is 0 when that sequence is sorted and the code reaches its maximum value 𝑛! when the sequence is reverse-sorted.</p><p>Finally, the slice is appended which leads to the new improved pattern bodyHash/projBaseHash/lehmerCode[/offset[-limit]].</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.5.">LSQ Command Line Interface</head><p>In this section we briefly present the workflow for benchmarking a SPARQL endpoint with the lsq command line tool. LSQ aims to capture on which endpoint a query was executed at which point in time. For that purpose, LSQ can reuse timestamps in log files. If such are absent then sequential numbering is used as a fallback. The URL of the endpoint from which a query log file originated needs to be provided manually. The endpoint for RDFization is purely of informational nature. No requests will be made to it. In principle, if it was known which dataset was available at an endpoint at a certain point in time, then this information can be used to link to a dataset identifier. Furthermore, ideally a dataset identifier can be linked to a download URL of exactly the set of RDF triples (or quads) that were present at that endpoint. Although this background knowledge is currently usually not systematically available, we envision this situation to improve with advancements in data catalog and service modeling such as with DCAT <ref type="foot" target="#foot_7">8</ref> . An example of a command line invocation and its corresponding output is shown in Listing 4 and Listing 5. Note, that the output is query-centric, which means that the input sequence of records is sorted by the query hash. The rx variant uses linux sorting which is not portable, whereas spark variant provides a portable java-native solution.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.6.">Benchmarking</head><p>LSQ uses RDF to keep benchmark settings in order to relate benchmark results to the context under which they were obtained. For this reason, benchmarking is a three step process: (1) Create a benchmark configuration. This is an RDF document which contains an IRI that carries the settings. The IRI is described with the date when the configuration was created and a custom label. The latter is useful for organization because benchmarking is often performed against SPARQL endpoints under a localhost URL from which no expressive name can be derived. Benchmark creation also caches the number of triples in the endpoint with the configuration. This number is used to compute certain ratios, such as the ratio of triples matched by a single triple pattern w.r.t. to the total size of the RDF graph. As a consequence, a new configuration should be created whenever the settings or the data changes. (2) Prepare a benchmark run: This is another little RDF document which only introduces an IRI with two pieces of information: The IRI of the configuration and the timestamp of when the run was prepared. (3) Execute the benchmark. Every benchmark task will be linked to the IRI of the benchmark run which in turn links to the used configuration. Listing 6 demonstrates the command line invocations for setting up and running a benchmark whereas an example configuration is shown in Listing 7.  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.6.1.">Benchmark Workflow</head><p>When benchmarking a query, an IRI is allocated based on the benchmark run id and the query id. Within an individual benchmark run a query can only be executed once. A database (TDB2) is used to keep track of query hashes that have already been benchmarked. LSQ first attempts to benchmark and retrieve the result set of a query. If retrieval succeeds (and no thresholds are exceeded) then the retrieved result set is serialized as a literal in the output RDF dataset as long as the serialization thresholds are adhered to. If the retrieval fails due to threshold violation (in contrast to e.g. a syntactic error) then an alternate strategy is employed which attempts to count the size of the query by wrapping it with SELECT (COUNT(*) AS ?c) { ... }. The benchmark result contains triples for any exceeded thresholds.</p><p>Benchmarking Secondary Queries Primary queries are those originating from a query log. Secondary queries are those derived from the syntactic elements of primary ones. The most prominent elements are basic graph patterns and individual triple patterns. A secondary query is benchmarked just like a primary one. The rule that a query will only be benchmarked once within a run thus also applies. An example RDF representation of a SPARQL query generated by the LSQ framework is shown in Listing 8. We encourage authors to have a look at LSQ V2.0 paper <ref type="bibr" target="#b1">[2]</ref> for further details of the RDF representation. Listing 8: An example LSQ/RDF representation of a SPARQL query in Turtle syntax <ref type="bibr" target="#b1">[2]</ref> @prefix rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns#&gt; . @prefix lsqr: &lt;http://lsq.aksw.org/&gt; . @prefix lsqv: &lt;http://lsq.aksw.org/vocab#&gt; . @prefix rdfs: &lt;http://www.w3.org/2000/01/rdf-schema#&gt; . @prefix swc: &lt;http://data.semanticweb.org/ns/swc/ontology#&gt; . @prefix swr: &lt;http://data.semanticweb.org/&gt; . @prefix xsd: &lt;http://www.w3.org/2001/XMLSchema#&gt; . @prefix prov: &lt;http://www.w3.org/ns/prov#&gt; . # Primary resource describing the query found with the SWDF logs lsqr:lsqQuery-3wBd2uKotB_-vUxnngs6ZNsGPhJmIDD9c7ig0UI24y8 lsqv:hasLocalExec lsqr:localExec-v9fBp3ElS1aVXXN1Z8zX1jxcHX3iy-axTgRrU2c7NY8 ; lsqv:hasRemoteExec lsqr:re-data.semanticweb.org-sparql_2014-05-22T16:08:17Z , lsqr:re-data.semanticweb.org-sparql_2014-05-20T13:24:13Z ; lsqv:hasStructuralFeatures lsqr:lsqQuery-3wBd2uKotB_-vUxnngs6ZNsGPhJmIDD9c7ig0UI24y8-sf ; lsqv:hash "3wBd2uKotB_-vUxnngs6ZNsGPhJmIDD9c7ig0UI24y8" ; lsqv:text """PREFIX rdf: &lt;http://www.w3.org/1999/02/22-rdf-syntax-ns# &gt; PREFIX swc: &lt;http://data.semanticweb.org/ns/swc/ontology# &gt; SELECT DISTINCT ?prop WHERE { ?obj rdf:type swc:SessionEvent ; ?prop ?targetObj FILTER isLiteral(?targetObj) } LIMIT 150""" . # Static features of the query lsqr:lsqQuery-3wBd2uKotB_-vUxnngs6ZNsGPhJmIDD9c7ig0UI24y8-sf lsqv:bgpCount 1 ; lsqv:hasBgp lsqr:bgp-_x9Mckke-V9R3ddISuw-Nj_j278nT5HwiA1WUNk7tgY ; lsqv:joinVertexCount 1 ; lsqv:joinVertexDegreeMean 2 ; lsqv:joinVertexDegreeMedian 2 ; lsqv:projectVarCount 1 ; lsqv:tpCount 2 ; lsqv:tpInBgpCountMax 2 ; lsqv:tpInBgpCountMean 2 ; lsqv:tpInBgpCountMedian 2 ; lsqv:tpInBgpCountMin 2 ; lsqv:usesFeature lsqv:fn-isLiteral , lsqv:Select , lsqv:Limit , lsqv:Functions , lsqv:Group , lsqv:Filter , </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.7.">Scaling LSQ with SANSA</head><p>Processing large log files with only a single core is tedious and anachronistic in times of Big Data and laptops having more than a dozen cores. Apache Spark is a framework that enables scaling computing tasks to use all available resources on a cluster -even if the "cluster" only comprises a single machine. Apache Spark features high level abstractions for distributed executions of operations on different types of distributed collections of records. Resilient Distributed Datasets (RDDs) are the ones used by LSQ/Spark. However, the low-level I/O for reading records from files (regardless whether in local or distributed file systems) is provided by Apache Hadoop. The now retired Apache Jena/Elephas<ref type="foot" target="#foot_8">9</ref> project provided distributed ingestion of RDF data by wiring its own I/O library (called RIOT ) up with Apache Hadoop. However, while Elephas supported n-quads, this format is both much more verbose and more hard to read than pretty printed trig. Conversely, manually reviewing rather sophisticated LSQ models in trig format was significantly easier, however, Elephas could not read trig in splits. Therefore use of this format negated the benefits of the Big Data framework. In order to optimize processing, we created an initial distributed parser for trig that searched hadoop input splits by matching the &lt;graphname&gt; { ... } pattern. This framework was continuously extended to handle RDF prefixes and even RDF data in literals. By now, this parsing framework has evolved into Hadoop Generic Parser Framework (HGPF) and provides support for trig (a superset of turtle, n-quads and n-triples), JSON and CSV.</p><p>Listing 9 shows the contribution made to SANSA in order to enable processing of large trig files (of which n-quads is a special case) with LSQ. The parser has been successfully used to ingest and sort 500GB of LSQ trig data in about 5 hours on a 3 node spark cluster. The HGPF framework has also been used to realize a CSV parser that can also handle multiline cell values. The limitation is that when searching for candidate record offsets in a split, the maximum size of multi-line cells needs to be configured in advance. The default value is 500KB, and the candidate record offset detector always has to exhaust this amount of data in order not to miss any cell endings.</p><p>The CSV settings are based on the frictionless data csv dialect which slightly extends over the CSV on the Web (CSVW) <ref type="foot" target="#foot_9">10</ref> specification. An example of programmatic usage is shown in Listing 10. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Impact</head><p>To the best of our knowledge, the framework we propose in this paper is the first generic framework for RDFizing SPARQL query logs in different formats. Furthermore, it does so in a scalable way by following Big Data processing paradigms. There was no mechanism available to reuse existing query logs in a single standard format with much more enriched information attached to each query. Our framework is completely abided by semantic web technologies. It has been used to convert query logs of 27 public SPARQL endpoints, resulting in terabytes of RDF data.</p><p>In the recent LSQ v2.0 paper <ref type="bibr" target="#b1">[2]</ref>, potential six use cases -custom benchmarking, SPARQL adoption, caching, usability analysis, query optimisation, and meta-querying -have been discussed. The RDF datasets generated using the LSQ framework have been used widely for these use-cases <ref type="bibr" target="#b1">[2]</ref>. he study <ref type="bibr" target="#b1">[2]</ref> reported that 29 research papers have used LSQ queries for custom benchmarking, six research papers for SPARQL adoption, five research papers for caching, 12 research papers for SPARQL useability analysis, seven research papers for query optimisation, and two papers for meta-querying <ref type="bibr" target="#b1">[2]</ref>. Furthermore, <ref type="bibr" target="#b1">[2]</ref> discussed a number of works which have used LSQ (mostly for evaluation) in contexts that were not originally anticipated by the aforementioned use cases. These works include predicting temporal relations between events <ref type="bibr" target="#b41">[42]</ref>, augmenting RDF data sources with completeness statements <ref type="bibr" target="#b42">[43]</ref>, finding the frequency and distribution of answerable and non-answerable query patterns <ref type="bibr" target="#b42">[43]</ref>, question answering over linked data <ref type="bibr" target="#b43">[44]</ref>, and a blockchain that allows users to propose updates to faulty or outdated data <ref type="bibr" target="#b44">[45]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Reusability</head><p>We are hopeful that the LSQ framework will be used by more researchers to convert existing query logs and create LSQ datasets. The resource home page includes documentation along with examples for easy reusability. The components developed in the LSQ framework are very generic. A dockerized version of the LSQ is also available from the resource homepage. The LSQ framework can also be adopted to other log formats by providing the log pattern, e.g., CSV, specific text pattern. Custom enrichment can also be done, i.e, add more query features attached to each query. The resource homepage includes a wiki explaining how others can use the framework along with examples and CLI instructions. So far, we have not tested the framework with XML, JSON logs. However, it should be working provided that the correct log pattern is specified in the configuration file.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Availability and Sustainability</head><p>The resource is available from a persistent URL http://w3id.org/lsq. LSQ v2.0 <ref type="bibr" target="#b1">[2]</ref> is the canonical citation associated with this resource. Our framework and LSQ datasets are available under GNU General Public License v3.0. The source code is publicly available via Github. All future extensions will be reflected on the same persistent URL. In addition, this framework will be sustained via the Paderborn Center for Parallel Computing 𝑃 𝐶 2 , which provides computing resources as well as consulting regarding their usage to research projects at Paderborn University and also to external research groups. The Information and Media Technologies Centre (IMT) at Paderborn University also provides a permanent IT infrastructure to host the LSQ project.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6.">Conclusion</head><p>In this paper, we have presented the LSQ framework, a scalable engine to represent queries in logs as RDF, allowing users perform their analysis on real-world SPARQL queries. We discussed the core architecture of this software framework along with potential impact and the useability instructions. We briefly discussed various use-cases where RDF datasets produced by our framework have already been used. In the future, we want to further extend this framework that provides further annotated information, e.g. annotating the named entities used in the SPARQL queries and their disambiguation to well-known datasets such Wikidata and DBpedia. We aim to collect further query logs from public SPARQL endpoints and provide them as RDF datasets.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Resource Availability Statement:</head><p>• Source code of the LSQ framework is available from https://github.com/AKSW/LSQ • Installation instructions available from http://lsq.aksw.org/v2/setup.html • Usage instructions available from http://lsq.aksw.org/v2/usage/usage.html • RDF dumps of the LSQ v2.0 datasets available from https://hobbitdata.informatik. uni-leipzig.de/lsqv2/dumps/ • LSQ V2.0 public SPARQL endpoint is available from http://lsq.aksw.org/sparql • Set of useful SPARQL queries over LSQ datasets available from http://lsq.aksw.org/v2/ usage/usage.html • The resource type is Software Framework and is available under GNU General Public License v3.0 • All of the above information along with legacy data and old LSQ maintenance information available from the resource persistent URL http://w3id.org/lsq • LSQ V2.0 <ref type="bibr" target="#b1">[2]</ref> is the canonical citation associated with this paper</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 1 :</head><label>1</label><figDesc>Figure 1: LSQ Framework Architecture. The underlying Semantic Web framework is Apache Jena.</figDesc><graphic coords="3,89.29,84.19,416.72,181.73" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 1</head><label>1</label><figDesc>Figure1shows the architecture of LSQ which is briefly summarized as follows. Records of query logs in different formats and having different schemas are parsed and normalized as RDF. The RDF log is inverted such that every query is related to all log records that mention it, i.e., every query is assigned a global (w.r.t, all query logs from different endpoints) identifier. In this process, queries are represented by hashes computed with their normalized strings. Static enrichment basically extracts the static features (that can be directly derived from a SPARQL query without running it against a specific RDF dataset) relevant to SPARQL query. It extends the RDF model with a SPIN 2 and further static structural features such as the number of projection variables, number of triple patterns, join types and selectivities, the used syntactic elements (e.g. UNION, OPTIONAL) etc. The dynamic enrichment extracts data-driven SPARQL features such as query runtime, result size or triple pattern selectivities etc. Whereas static enrichment is independent on any dataset, dynamic enrichment needs a dataset as input. Benchmarking is a form of dynamic enrichment that extends a query's RDF model w.r.t. a dataset with result set sizes and execution times. In the following, we present these steps in detail and how LSQ inspired creation of certain components which we contributed to other frameworks in order to facilitate reuse.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: LSQ2 Data Model</figDesc><graphic coords="6,89.29,84.19,416.69,197.14" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Listing 2 :</head><label>2</label><figDesc>Example for setting up and skolemizing a basic LSQ RDF model Model model = ModelFactory.createModel(); LsqTriplePattern tp = model.createResource(LsqTriplePattern.class); TpInBgp tpInBgp = model.createResource(TpInBgp.class); tp.setJenaTriple(new Triple()); Resource root = Reprogen.skolemize(tpInBgp, "http://lsq.aksw.org"); RDFDataMgr.write(System.out, root.getModel(), RDFFormat.TURTLE_PRETTY);</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Listing 3 :</head><label>3</label><figDesc>Example of LSQ's annotated Java domain model for which Reprogen generates proxy implementations that can read and write to an RDF graph /* The identity of a bgp depends on the list of identities of the contained * triple patterns */ public interface identity of a "triple pattern in a bgp" depedends on the identity of * the bgp and the identity of the triple pattern *additional structure: The body hash of a query is obtained by replacing the projection with 'SELECT *' and applying sha256+base64 hashing on the normalized query string.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Listing 4 :</head><label>4</label><figDesc>Command for rdfizing a SPARQL query log lsq rx rdfize --endpoint=http://dbpedia.org/sparql virtuoso.dbpedia.log Listing 5: The output of the rdfization is one named graph per query :lsqQuery-X { :lsqQuery-X lsq:text "SELECT * { ?s ?p ?o }" ; lsq:hasRemoteExec :remoteExec-org-dbpedia-sparql_2016-04-10T01:00:00Z . :remoteExec-org-dbpedia-sparql_2016-04-10T01:00:00Z lsq:endpoint &lt;http://dbpedia.org/sparql&gt; ; prov:atTime "2016-04-10T01:00:00Z"^^xsd:dateTime . } :lsqQuery-Y { ... }</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Listing 6 :</head><label>6</label><figDesc>Example benchmark setup and execution lsq benchmark create --endpoint http://localhost:8080/sparql --dataset dbpedia # Assumed output: xc-dbpedia_2021 -10-22.conf.ttl lsq benchmark prepare -c xc-dbpedia_2021 -10-22.conf.ttl # Assumed output: c-dbpedia_2021 -10-22_2021 -10-22T12_26_40_828056Z.run.ttl lsq benchmark run -c xc-dbpedia_2021 -10-22_2021 -10-22T12_26_40_828056Z.run.ttl virtuoso.dbpedia.trig Listing 7: Excerpt of benchmark configuration options</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_7"><head></head><label></label><figDesc>lsqv:Distinct , lsqv:TriplePattern . # Remote execution no. 1 on the original endpoint lsqr:re-data.semanticweb.org-sparql_2014-05-22T16:08:17Z prov:atTime "2014-05-22T16:08:17Z"^^xsd:dateTime ; lsqv:endpoint swr:sparql ; lsqv:hostHash "O5UQpDtofxAsrJk7yzGfDolFGylMFw5446KcRZDcBkU" . # Remote execution no. 2 on the original endpoint lsqr:re-data.semanticweb.org-sparql_2014-05-20T13:24:13Z prov:atTime "2014-05-20T13:24:13Z"^^xsd:dateTime ; lsqv:endpoint swr:sparql ; lsqv:hostHash "7aPNvqsgizRuEjH7_cO_dXoqLk-exKJ-xFmbCH3ew_E" . # Local execution to extract statistics lsqr:localExec-v9fBp3ElS1aVXXN1Z8zX1jxcHX3iy-axTgRrU2c7NY8-xc lsqv:benchmarkRun lsqr:xc-swdf_2020-09-23_at_23-09-2020_17:10:19 ; lsqv:hasQueryExec lsqr:queryExec-Cmv7SccybbBxwkep_cHvDiF3piq29tH7NWlDfIiCHqU . # Results of local execution lsqr:queryExec-Cmv7SccybbBxwkep_cHvDiF3piq29tH7NWlDfIiCHqU prov:atTime "2020-09-23T15:27:36.325Z"^^xsd:dateTime ; lsqv:countingDuration 0.008466651 ; lsqv:evalDuration 0.008868635 ; lsqv:resultCount 16 . # The full data further include a SPIN description of the query, a list of BGPs within the query, # a list of triple patterns and terms within the query, as well as execution statistics for individual # BGPs, triple patterns and sub-BGPs induced by join variables</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_8"><head>Listing 9 :</head><label>9</label><figDesc>Parsing named graph streamsRdfSourceFactory rdfSourceFactory = RdfSourceFactoryImpl.from(sparkSession); RdfSource rdfSource = rdfSourceFactory.get("query-log.lsq.trig"); RDD&lt;Quad&gt; rddOfQuads = rdfSource.asQuads(); RDD&lt;DatasetOneNg &gt; rddOfDataset = rdfSource.asDatasets();</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_9"><head>Listing 10 :</head><label>10</label><figDesc>Example for setting up and skolemizing a basic LSQ RDF modelJavaRDD&lt;Binding&gt; rddOfBindings = CsvDataSources.createRddOfBindings(sparkContext , "data.csv", csvDialect); Query query = QueryFactory.create("CONSTRUCT ..."); JavaRDD&lt;Quad&gt; rddOfQuads = JavaRddOfBindingsOps.tarqlQuads(rddOfBindings , query);</figDesc></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">For details please see: https://github.com/apache/jena/pull/712, https://github.com/apache/jena/pull/1475, https://github.com/apache/jena/pull/1394, https://github.com/apache/jena/pull/1390, https://github.com/apache/jena/issues/1470, https://issues.apache.org/jira/projects/JENA/issues/JENA-2309</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">SPARQL SPIN representation: https://www.w3.org/Submission/spin-sparql/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">https://github.com/w3c/sparql-12/issues/31</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_3">https://www.w3.org/TR/sparql11-query/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="5" xml:id="foot_4">https://httpd.apache.org/docs/current/mod/mod_log_config.html</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="6" xml:id="foot_5">https://github.com/tarql/tarql</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="7" xml:id="foot_6">https://github.com/Scaseco/jenax/tree/develop/jenax-reprogen-parent/jenax-reprogen-core</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="8" xml:id="foot_7">https://www.w3.org/TR/vocab-dcat-2/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="9" xml:id="foot_8">https://jena.apache.org/documentation/archive/hadoop/</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="10" xml:id="foot_9">https://www.w3.org/TR/tabular-data-model/</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>The authors also acknowldge the financial support for 3DFed (Grant no. 01QE2114B), Know-Graphs(Grant no. 860801) and by the Federal Ministry for Economics and Climate Action in the project CoyPu (project number 01MK21007A).</p></div>
			</div>


			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>(A. N. Ngomo) https://aksw.org/ClausStadler (C. Stadler) 0000-0001-9948-6458 (C. Stadler)</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Bridging Theory and Practice with Query Log Analysis</title>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Trautner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">SIGMOD Record</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="page" from="6" to="13" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Lsq 2.0: A linked dataset of sparql query logs</title>
		<author>
			<persName><forename type="first">C</forename><surname>Stadler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mehmoodb</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Buil-Arandac</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Dumontierd</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hogane</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomoa</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Semantic Web Journal</title>
				<imprint>
			<date type="published" when="2022">2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">LSQ: The Linked SPARQL Queries Dataset</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">I</forename><surname>Ali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hogan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mehmood</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="261" to="269" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">FEASIBLE: A Feature-Based SPARQL Benchmark Generation Framework</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mehmood</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="52" to="69" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Generating SPARQL Query Containment Benchmarks Using the SQCFramework</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mehmood</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Stadler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lehmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
		<ptr target=".org" />
	</analytic>
	<monogr>
		<title level="m">ISWC Posters &amp; Demos</title>
				<imprint>
			<publisher>CEUR-WS</publisher>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">LargeRDFBench: A billion triples benchmark for SPARQL endpoint federation</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hasnain</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Semantics</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="page" from="85" to="125" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">How Representative Is a SPARQL Benchmark? An Analysis of RDF Triplestore Benchmarks</title>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Szárnyas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Conrads</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">A C</forename><surname>Bukhari</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Mehmood</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">World Wide Web Conference (WWW)</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="1623" to="1633" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Querying Wikidata: Comparing SPARQL, Relational and Graph Databases</title>
		<author>
			<persName><forename type="first">D</forename><surname>Hernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hogan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Riveros</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Rojas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Zerega</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="88" to="103" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Evaluating query and storage strategies for RDF archives</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Umbrich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polleres</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Knuth</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Semantic Web</title>
		<imprint>
			<biblScope unit="volume">10</biblScope>
			<biblScope unit="page" from="247" to="291" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">SMART-KG: Hybrid Shipping for SPARQL Querying on the Web</title>
		<author>
			<persName><forename type="first">A</forename><surname>Azzam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">D</forename><surname>Fernández</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Acosta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Beno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polleres</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Web Conference (WWW)</title>
				<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="984" to="994" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Ngonga Ngomo, Tentris -A Tensor-Based Triple Store</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bigerl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Conrads</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Behning</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Sherif</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="56" to="73" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">WiseKG: Balanced Access to Web Knowledge Graphs</title>
		<author>
			<persName><forename type="first">A</forename><surname>Azzam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Aebeloe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Montoya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Keles</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Polleres</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Hose</surname></persName>
		</author>
		<idno type="DOI">10.1145/3442381.3449911</idno>
		<idno>doi:10.1145/3442381. 3449911</idno>
		<ptr target="https://doi.org/10.1145/3442381.3449911" />
	</analytic>
	<monogr>
		<title level="m">The Web Conference (WWW), ACM / IW3C2</title>
				<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="1422" to="1434" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">A Workload-Adaptive Streaming Partitioner for Distributed Graph Stores</title>
		<author>
			<persName><forename type="first">A</forename><surname>Davoudian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Tu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Liu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data Science and Engineering</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="163" to="179" />
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">SYNTHG: Mimicking RDF Graphs Using Tensor Factorization</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A</forename><surname>Desouki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Conrads</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Röder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICSC50631.2021.00017</idno>
	</analytic>
	<monogr>
		<title level="m">International Conference on Semantic Computing (ICSC)</title>
				<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="76" to="79" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Lemming -Example-based Mimicking of Knowledge Graphs</title>
		<author>
			<persName><forename type="first">M</forename><surname>Röder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">T S</forename><surname>Nguyen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Conrads</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">A M</forename><surname>Da Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
		<idno type="DOI">10.1109/ICSC50631.2021.00015</idno>
	</analytic>
	<monogr>
		<title level="m">International Conference on Semantic Computing (ICSC)</title>
				<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="62" to="69" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">On the statistical analysis of practical SPARQL queries</title>
		<author>
			<persName><forename type="first">X</forename><surname>Han</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Feng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jiang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Workshop on Web and Databases (WebDB)</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">An Analytical Study of Large SPARQL Query Logs</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bonifati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Timm</surname></persName>
		</author>
		<idno type="DOI">10.14778/3149193.3149196</idno>
		<ptr target="http://www.vldb.org/pvldb/vol11/p149-bonifati.pdf.doi:10.14778/3149193.3149196" />
	</analytic>
	<monogr>
		<title level="j">PVLDB</title>
		<imprint>
			<biblScope unit="volume">11</biblScope>
			<biblScope unit="page" from="149" to="161" />
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">DARQL: Deep Analysis of SPARQL Queries</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bonifati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Timm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">WWW Posters &amp; Demos</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="187" to="190" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Scheduling refresh queries for keeping results from a SPARQL endpoint up-to-date</title>
		<author>
			<persName><forename type="first">M</forename><surname>Knuth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Hartig</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Sack</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">On The Move to Meaningful Internet Systems (OTM)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="780" to="791" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Change-Aware Scheduling for Effectively Updating Linked Open Data Caches</title>
		<author>
			<persName><forename type="first">U</forename><surname>Akhtar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Razzaq</surname></persName>
		</author>
		<author>
			<persName><forename type="first">U</forename><forename type="middle">U</forename><surname>Rehman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">B</forename><surname>Amin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">A</forename><surname>Khan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E.-N</forename><surname>Huh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lee</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Access</title>
		<imprint>
			<biblScope unit="volume">6</biblScope>
			<biblScope unit="page" from="65862" to="65873" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<analytic>
		<title level="a" type="main">A Dynamic, Cost-Aware, Optimized Maintenance Policy for Interactive Exploration of Linked Data</title>
		<author>
			<persName><forename type="first">U</forename><surname>Akhtar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sant'anna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Lee</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Applied Sciences</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page">4818</biblScope>
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Canonicalisation of Monotone SPARQL Queries</title>
		<author>
			<persName><forename type="first">J</forename><surname>Salas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hogan</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="600" to="616" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Personalized knowledge graph summarization: From the cloud to your pocket</title>
		<author>
			<persName><forename type="first">T</forename><surname>Safavi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Belth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Mottin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Müller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Koutra</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Data Mining (ICDM), IEEE</title>
				<imprint>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="528" to="537" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Reverse engineering SPARQL queries</title>
		<author>
			<persName><forename type="first">M</forename><surname>Arenas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><forename type="middle">I</forename><surname>Diaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">V</forename><surname>Kostylev</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">World Wide Web Conference (WWW)</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="239" to="249" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">A model for visual building SPARQL queries</title>
		<author>
			<persName><forename type="first">F</forename><surname>Benedetti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bergamaschi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Symposium on Advanced Database Systems (SEBD)</title>
				<imprint>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="19" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">On addressing the empty answer problem in uncertain knowledge bases</title>
		<author>
			<persName><forename type="first">I</forename><surname>Dellal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Jean</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Hadjali</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Chardin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Baron</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Database and Expert Systems Applications (DEXA)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="120" to="129" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Investigating learnability, user performance, and preferences of the path query language SemwidgQL compared to SPARQL</title>
		<author>
			<persName><forename type="first">T</forename><surname>Stegemann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Ziegler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2017">2017</date>
			<biblScope unit="page" from="611" to="627" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Viswanathan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>De Mel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">A</forename><surname>Hendler</surname></persName>
		</author>
		<idno>CoRR abs/1807.01801</idno>
		<ptr target="http://arxiv.org/abs/1807.01801" />
		<title level="m">Feature-based reformulation of entities in triple pattern queries</title>
				<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">Learning SPARQL Queries from Expected Results</title>
		<author>
			<persName><forename type="first">J</forename><surname>Potoniec</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computing and Informatics</title>
		<imprint>
			<biblScope unit="volume">38</biblScope>
			<biblScope unit="page" from="679" to="700" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Answering why-not questions on SPARQL queries</title>
		<author>
			<persName><forename type="first">M</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Wei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Yao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Zeng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Shi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Knowledge and Information Systems</title>
		<imprint>
			<biblScope unit="page" from="1" to="40" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">An analytical study of large SPARQL query logs</title>
		<author>
			<persName><forename type="first">A</forename><surname>Bonifati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Timm</surname></persName>
		</author>
		<idno type="DOI">10.1007/s00778-019-00558-9</idno>
	</analytic>
	<monogr>
		<title level="j">VLDB J</title>
		<imprint>
			<biblScope unit="volume">29</biblScope>
			<biblScope unit="page" from="655" to="679" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">SPARQL Rewriting: Towards Desired Results</title>
		<author>
			<persName><forename type="first">X</forename><surname>Jian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Lei</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Zheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Chen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SIGMOD International Conference on Management of Data</title>
				<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="1979" to="1993" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">Revealing Secrets in SPARQL Session Level</title>
		<author>
			<persName><forename type="first">X</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Qi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Wang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="672" to="690" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<analytic>
		<title level="a" type="main">Discovery and diagnosis of wrong SPARQL queries with ontology and constraint reasoning</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">M</forename><surname>Almendros-Jiménez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Becerra-Terón</surname></persName>
		</author>
		<idno type="DOI">10.1016/j.eswa.2020.113772</idno>
		<ptr target="https://doi.org/10.1016/j.eswa.2020.113772" />
	</analytic>
	<monogr>
		<title level="j">Expert Systems with Applications</title>
		<imprint>
			<biblScope unit="volume">165</biblScope>
			<biblScope unit="page">113772</biblScope>
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Explaining similarity for SPARQL queries</title>
		<author>
			<persName><forename type="first">M</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Xiao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Chen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Wang</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">World Wide Web</title>
		<imprint>
			<biblScope unit="page" from="1" to="23" />
			<date type="published" when="2021">2021</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Efficient approximation of well-designed SPARQL queries</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Song</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Z</forename><surname>Feng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">X</forename><surname>Wang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Rao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Web-Age Information Management (WAIM)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="315" to="327" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Evaluation and Enumeration Problems for Regular Path Queries</title>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Trautner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Database Theory (ICDT)</title>
		<title level="s">Schloss Dagstuhl -Leibniz-Zentrum fuer Informatik</title>
		<imprint>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page">21</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">OPT+: A Monotonic Alternative to OPTIONAL in SPARQL</title>
		<author>
			<persName><forename type="first">S</forename><surname>Cheng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Hartig</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Web Engineering</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="page" from="169" to="206" />
			<date type="published" when="2019">2019</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Containment of simple conjunctive regular path queries</title>
		<author>
			<persName><forename type="first">D</forename><surname>Figueira</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Godbole</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">N</forename><surname>Krishna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Martens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Niewerth</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Trautner</surname></persName>
		</author>
		<idno type="DOI">10.24963/kr.2020/38</idno>
	</analytic>
	<monogr>
		<title level="m">International Conference on Principles of Knowledge Representation and Reasoning</title>
				<meeting><address><addrLine>KR</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2020">2020</date>
			<biblScope unit="page" from="371" to="380" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<monogr>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Vander Sande</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Colpaert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Verborgh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Mannens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Van De Walle</surname></persName>
		</author>
		<title level="m">Rml: a generic language for integrated rdf mappings of heterogeneous data</title>
				<imprint>
			<publisher>Ldow</publisher>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<analytic>
		<title level="a" type="main">Declarative Rules for Linked Data Generation at your Fingertips!</title>
		<author>
			<persName><forename type="first">P</forename><surname>Heyvaert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>De Meester</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Verborgh</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 15 th ESWC: Posters and Demos</title>
				<meeting>the 15 th ESWC: Posters and Demos</meeting>
		<imprint>
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<title level="a" type="main">An efficient approach for the generation of Allen relations</title>
		<author>
			<persName><forename type="first">K</forename><surname>Georgala</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Sherif</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">European Conference on Artificial Intelligence (ECAI)</title>
				<imprint>
			<publisher>IOS Press</publisher>
			<date type="published" when="2016">2016</date>
			<biblScope unit="page" from="948" to="956" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">How many and what types of SPARQL queries can be answered through zero-knowledge link traversal?</title>
		<author>
			<persName><forename type="first">P</forename><surname>Fafalios</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Tzitzikas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM/SIGAPP Symposium on Applied Computing (SAC)</title>
				<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="2267" to="2274" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<analytic>
		<title level="a" type="main">Qaldgen: Towards microbenchmarking of question answering systems over knowledge graphs</title>
		<author>
			<persName><forename type="first">K</forename><surname>Singh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Saleem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Nadgeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Conrads</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">Z</forename><surname>Pan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A.-C</forename><forename type="middle">N</forename><surname>Ngomo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Lehmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Semantic Web Conference (ISWC)</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2019">2019</date>
			<biblScope unit="page" from="277" to="292" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b44">
	<analytic>
		<title level="a" type="main">ColChain: Collaborative Linked Data Networks</title>
		<author>
			<persName><forename type="first">C</forename><surname>Aebeloe</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Montoya</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Hose</surname></persName>
		</author>
		<idno type="DOI">10.1145/3442381.3450037</idno>
		<idno>doi:10.1145/3442381.3450037</idno>
		<ptr target="https://doi.org/10.1145/3442381.3450037" />
	</analytic>
	<monogr>
		<title level="m">The Web Conference (WWW), ACM / IW3C2</title>
				<imprint>
			<date type="published" when="2021">2021</date>
			<biblScope unit="page" from="1385" to="1396" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
