<?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">SPARQL Views: A Visual SPARQL Query Builder for Drupal</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Lin</forename><surname>Clark</surname></persName>
							<email>lin.clark@deri.org</email>
							<affiliation key="aff0">
								<orgName type="department">Digital Enterprise Research Institute</orgName>
								<orgName type="institution">National University of Ireland</orgName>
								<address>
									<settlement>Galway</settlement>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">SPARQL Views: A Visual SPARQL Query Builder for Drupal</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">8F71ED8A27393EC8C29803FDE5D86E90</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:44+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>User Interfaces</term>
					<term>End-user Programming</term>
					<term>CMS</term>
				</keywords>
			</textClass>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Publishing Linked Data on the Web has become much easier with tools such as Drupal. However, consuming that data and presenting it in a meaningful way is still difficult for both Web developers and for Semantic Web practitioners. We demonstrate a module for Drupal which supports visual query building for SPARQL queries and enables meaningful displays of the query result.</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>Integrating Semantic Web technologies into mainstream Content Management Systems (CMSs) has been established as a way to increase adoption of the Semantic Web <ref type="bibr" target="#b2">[3]</ref> <ref type="bibr" target="#b1">[2]</ref>. One example of incorporating these technologies in a mainstream system is the RDF in Drupal 7 core initiative, which enables over 300,000 sites<ref type="foot" target="#foot_0">1</ref> in joining the Semantic Web by exposing the content's structure as RDF.</p><p>While previous work in Drupal has made it easy for site administrators to publish RDF, modules that enable sites to consume RDF still require knowledge of SPARQL <ref type="foot" target="#foot_1">2</ref> . Because most Web developers do not meet this knowledge requirement, in practice the data is only directly accessible for Semantic Web practitioners. This means that one of the greatest potential benefits of RDF, the potential for data integration between sites, goes untapped for many sites.</p><p>Conversely, many Semantic Web practitioners do not have a full understanding of Web application development, which limits the displays they can create of the queried data. Where displays on the data are created, it is often by developing bespoke systems that cannot be reused by other Semantic Web practitioners.</p><p>We believe it is possible to design tools that support both the average Web developer and the Semantic Web practitioner's differing needs. We demonstrate a tool that supports drag-and-drop, visual query building over RDF data and that enables quick, easy, reusable presentation of that data.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Lin Clark</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Use Case</head><p>For illustration of the tool and its usefulness, we imagine a research institute Web site such as http://deri.ie/. The site includes pages for researcher profiles. A researcher's profile page pulls the researcher's publication list from an dataset such as DBLP <ref type="foot" target="#foot_2">3</ref> . The profiles will be set up and administered by a Webmaster who is unfamiliar with SPARQL, but knows a small amount of PHP and is comfortable with HTML.</p><p>We walk through this use case in a video demonstration available at http: //lin-clark.com/iswc. We give an analysis of the challenges faced in building such a Web site and our solutions to those challenges below.</p><p>3 Usability Challenges in Query Building</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Figuring out where to start</head><p>Inexperienced users are overwhelmed when given too many interaction options or, even worse, when given a blank slate where they must enter a command language like SPARQL <ref type="bibr" target="#b4">[5]</ref>.</p><p>Interaction strategy-To assist users in finding where to start, we initially offer one single point of interaction. We make the assumption that most queries are centered around predicates, and we use the drag-and-drop predicate list as the first means of interaction. We then animate the addition of subject and object to that predicate in order to guide the user to the next step, using the strategy of sequential affordance <ref type="bibr" target="#b3">[4]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Figuring out which predicates to use in the query</head><p>When accessing an arbitrary endpoint, end users have little support in understanding what data is contained in the dataset and how it is linked.</p><p>Interaction strategy-The endpoint is queried to determine which predicates are used in the dataset. Only predicates that are present in the dataset are displayed. An autocomplete search box allows the user to filter to appropriate terms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Declaring prefix mappings</head><p>Declaring prefix mappings requires knowledge of both syntax and of standards and inexperienced users can have a hard time finding the appropriate namespace for a vocabulary.</p><p>Interaction strategy-The prefix declaration is automatically generated for the user from the predicates that are used. If a namespace mapping is not available in the system (which uses prefix.cc as it's source), then the full URI is used in the predicate display and the query.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">Understanding the logical structure of queries</head><p>While conjunction and disjunction based logic is ubiquitous in everyday life and is thus intuitive to a large degree, the syntax of SPARQL obscures that logic for the inexperienced user.</p><p>Interaction strategy-Where SPARQL syntax requires mental computation of the logic, visual representation of queries allows perceptual inference of the underlying logic <ref type="bibr" target="#b0">[1]</ref>. We provide a visualization which makes the triple based logical patterns clear and offers affordances that reflect the possibilities of the graph structure. We currently only support basic conjunctive queries as these are the easiest to conceptualize <ref type="bibr" target="#b5">[6]</ref>, but are looking at ways to visually express other patterns.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Usability Challenges in Result Display</head><p>4.1 Displaying results in multiple display formats SPARQL results are not useful in their raw format, but need to have tailored displays in order for the pattern of information within the data to be communicated. Semantic Web practitioners often create bespoke systems for this display, leading to duplication of effort within the Semantic Web community.</p><p>Interaction strategy-We integrated the query building tool with a widely deployed Drupal module, Views. This module offers a pluggable system for displaying query results. Switching from an HTML table view, to a Google API chart view, to a JavaScript Exhibit of the data is easy to do through the Views user interface. Because SV is integrated with this pluggable system, any style and display plugins that the Drupal community develops to display various kinds of data can also style SPARQL results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Using context to rewrite the query</head><p>Information is most useful if it is tailored to the page where it is displayed. For instance, in the use case above, when a visitor visits a faculty member's profile, the query should return only publications authored by that faculty member.</p><p>Interaction strategy-We provide support for Drupal's Token API. This allows users to easily register tokens-small placeholder variables-and use these in their queries. The token is then evaluated at page load, so context, such as which user's profile is being viewed, can be assessed when creating the query.</p><p>5 Future Work</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Predicate Preprocessing and Ranking</head><p>We currently use a DISTINCT query to get the predicates from a dataset. For certain endpoints, such as the one at http://dbpedia.org/sparql, this query will timeout and not return results. We plan to create a Web service that can extract predicates from crawls preprocess the predicates for different endpoints. This service could provide additional data, such as the predicate definition and a ranking based on predicate usage within the dataset.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Dataset Selection</head><p>A barrier we have not addressed in the current work is the selection of appropriate datasets. We plan to create tools to guide users in finding an appropriate dataset.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.3">Federated Queries</head><p>Currently, there can only be one endpoint or dataset defined per view. However, one of the most exciting potentials of the Semantic Web is to mix data from multiple sources and we plan to explore how this can be supported in SV.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.4">Evaluation</head><p>We believe that it is possible to support and encourage the user's increasing understanding of SPARQL by lowering the barrier to entry and focusing on learnability. We plan to evaluate this assertion, to see whether interaction with SPARQL Views increases the acceptance of SPARQL and the understanding of the syntax itself, enabling users to incrementally improve their understanding of the query language.</p></div>			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">Drupal core usage statistics from http://drupal.org/project/usage/drupal</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">Modules include SPARQL, http://drupal.org/project/sparql, and RDF SPARQL Proxy, http://drupal.org/project/rdfproxy</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">http://dblp.l3s.de/d2r/sparql</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgments. This work was funded by Google Summer of Code, LOD Around-The-Clock (LATC) ICT-256975, and by Science Foundation Ireland under Grant No. SFI/08/CE/I1380 (Lion-2). Thank you to Drupal contributors Daniel Wehner and Laura Scott for their guidance and feedback.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Visual query systems for databases: A survey</title>
		<author>
			<persName><forename type="first">Tiziana</forename><surname>Catarci</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Maria</forename><forename type="middle">F</forename><surname>Costabile</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stefano</forename><surname>Levialdi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Carlo</forename><surname>Batini</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Produce and consume linked data with drupal!</title>
		<author>
			<persName><forename type="first">Stéphane</forename><surname>Corlosquet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Renaud</forename><surname>Delbru</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Tim</forename><surname>Clark</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Axel</forename><surname>Polleres</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stefan</forename><surname>Decker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web -ISWC 2009</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin / Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2009">2009</date>
			<biblScope unit="volume">5823</biblScope>
			<biblScope unit="page" from="763" to="778" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Semantic mediawiki</title>
		<author>
			<persName><forename type="first">Markus</forename><surname>Krötzsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Denny</forename><surname>Vrandečić</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Max</forename><surname>Völkel</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">The Semantic Web -ISWC 2006</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Berlin / Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4273</biblScope>
			<biblScope unit="page" from="935" to="942" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Affordances: Clarifying and evolving a concept</title>
		<author>
			<persName><forename type="first">Joanna</forename><surname>Mcgrenere</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of Graphics Interface 2000</title>
				<meeting>Graphics Interface 2000</meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="179" to="186" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">The Design of Everyday Things</title>
		<author>
			<persName><forename type="first">Donald</forename><forename type="middle">A</forename><surname>Norman</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>Basic Books</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Mental representation of logical connectives</title>
		<author>
			<persName><forename type="first">Vladimir</forename><forename type="middle">M</forename><surname>Sloutsky</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Yevgeniya</forename><surname>Goldvarg</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">The Quarterly Journal of Experimental Psychology</title>
		<imprint>
			<biblScope unit="volume">57</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="636" to="665" />
			<date type="published" when="2004">2004</date>
		</imprint>
	</monogr>
</biblStruct>

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