SlideShare ist ein Scribd-Unternehmen logo
1 von 49
Downloaden Sie, um offline zu lesen
Querying
                                  Linked Data
                                      with
                                    SPARQL

WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Brief Introduction to SPARQL
     ●   SPARQL: Query Language for RDF data*
     ●   Main idea: pattern matching
          ●   Describe subgraphs of the queried RDF graph
          ●   Subgraphs that match your description yield a result
          ●   Mean: graph patterns (i.e. RDF graphs /w variables)

                                           ?v               rdf:type
                                                                       http://.../Volcano


                          * http://www.w3.org/TR/rdf-sparql-query/
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Brief Introduction to SPARQL
 Queried
 graph:
                                                            rdf:type
        http://.../Mount_Baker                                            http://.../Volcano
         p:lastEruption                                                            rdf:type
                                        "1880"                         http://.../Mount_Etna



                                           ?v               rdf:type
   Results:                                                               http://.../Volcano
                     ?v
   http://.../Mount_Baker
   http://.../Mount_Etna
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
SPARQL Endpoints
     ●   Linked Data sources usually provide a
         SPARQL endpoint for their dataset(s)
     ●   SPARQL endpoint: SPARQL query processing
         service that supports the SPARQL protocol*
     ●   Send your SPARQL query, receive the result




                   * http://www.w3.org/TR/rdf-sparql-protocol/

WWW 2010 Tutorial "How to Consume Linked Data on the Web"
SPARQL Endpoints
             Data Source                                    Endpoint Address

     DBpedia                                http://dbpedia.org/sparql

     Musicbrainz                            http://dbtune.org/musicbrainz/sparql

     U.S. Census                            http://www.rdfabout.com/sparql

     Semantic Crunchbase http://cb.semsol.org/sparql


     More complete list:
      http://esw.w3.org/topic/SparqlEndpoints
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Accessing a SPARQL Endpoint
     ●   SPARQL endpoints: RESTful Web services
     ●   Issuing SPARQL queries to a remote SPARQL
         endpoint is basically an HTTP GET request to
         the SPARQL endpoint with parameter query

    GET /sparql?query=PREFIX+rd... HTTP/1.1
    Host: dbpedia.org
    User-agent: my-sparql-client/0.1
                                                             URL-encoded string
                                                            with the SPARQL query
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Query Results Formats
     ●   SPARQL endpoints usually support different
         result formats:
          ●   XML, JSON, plain text
              (for ASK and SELECT queries)
          ●   RDF/XML, NTriples, Turtle, N3
              (for DESCRIBE and CONSTRUCT queries)




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Query Results Formats
    PREFIX dbp: <http://dbpedia.org/ontology/>
    PREFIX dbpprop: <http://dbpedia.org/property/>

    SELECT ?name ?bday WHERE {
      ?p dbp:birthplace <http://dbpedia.org/resource/Berlin> .
      ?p dbpprop:dateOfBirth ?bday .
      ?p dbpprop:name ?name .
    }
         name                            | bday
       ------------------------+------------
        Alexander von Humboldt | 1769-09-14
        Ernst Lubitsch                  | 1892-01-28
                                       ...
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
  <head>
    <variable name="name"/>
    <variable name="bday"/>
  </head>
  <results distinct="false" ordered="true">
   <result>
      <binding name="name">
         <literal xml:lang="en">Alexander von Humboldt</literal>
      </binding>
      <binding name="bday">
         <literal datatype="http://www.w3.org/2001/XMLSchema#date">1769-09-14</literal>
      </binding>
   </result>
   <result>
      <binding name="name">
         <literal xml:lang="en">Ernst Lubitsch</literal>
      </binding>
      <binding name="bday">
         <literal datatype="http://www.w3.org/2001/XMLSchema#date">1892-01-28</literal>
      </binding>
   </result>          http://www.w3.org/TR/rdf-sparql-XMLres/
   <!-- … -->
  </results>
 WWW 2010 Tutorial "How to Consume Linked Data on the Web"
</sparql>
{
 "head": { "link": [], "vars": ["name", "bday"] },
 "results": { "distinct": false, "ordered": true, "bindings": [
 { "name": { "type": "literal",
             "xml:lang": "en",
             "value": "Alexander von Humboldt" } ,
   "bday": { "type": "typed-literal",
             "datatype": "http://www.w3.org/2001/XMLSchema#date",
             "value": "1769-09-14" }
 },
 { "name": { "type": "literal",
             "xml:lang": "en",
             "value": "Ernst Lubitsch" } ,
   "bday": { "type": "typed-literal",
             "datatype": "http://www.w3.org/2001/XMLSchema#date",
             "value": "1892-01-28" }
  },
// ...
     ] }                    http://www.w3.org/TR/rdf-sparql-json-res/
}
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Query Result Formats
     ●   Use the ACCEPT header to request the
         preferred result format:
   GET /sparql?query=PREFIX+rd... HTTP/1.1
   Host: dbpedia.org
   User-agent: my-sparql-client/0.1
   Accept: application/sparql-results+json




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Query Result Formats
     ●   As an alternative some SPARQL endpoint
         implementations (e.g. Joseki) provide an
         additional parameter out

 GET /sparql?out=json&query=... HTTP/1.1
 Host: dbpedia.org
 User-agent: my-sparql-client/0.1




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Accessing a SPARQL Endpoint
     ●   More convenient: use a library
     ●   Libraries:
          ●   SPARQL JavaScript Library
              http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html
          ●   ARC for PHP
              http://arc.semsol.org/
          ●   RAP – RDF API for PHP
              http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Accessing a SPARQL Endpoint
     ●   Libraries (cont.):
          ●   Jena / ARQ (Java) http://jena.sourceforge.net/
          ●   Sesame (Java) http://www.openrdf.org/
          ●   SPARQL Wrapper (Python)
              http://sparql-wrapper.sourceforge.net/
          ●   PySPARQL (Python)
              http://code.google.com/p/pysparql/




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Accessing a SPARQL Endpoint
     ●   Example with Jena / ARQ:
   import com.hp.hpl.jena.query.*;

   String service = "..."; // address of the SPARQL endpoint
   String query = "SELECT ..."; // your SPARQL query
   QueryExecution e = QueryExecutionFactory.sparqlService( service,
                                                             query );
   ResultSet results = e.execSelect();
   while ( results.hasNext() ) {
       QuerySolution s = results.nextSolution();
       // …
   }
   e.close();
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
●   Querying a single dataset is quite boring
                                            compared to:
     ●   Issuing SPARQL queries over multiple datasets

     ●   How can you do this?
          1. Issue follow-up queries to different endpoints
          2. Querying a central collection of datasets
          3. Build store with copies of relevant datasets
          4. Use query federation system



WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Follow-up Queries
     ●   Idea: issue follow-up queries over other
         datasets based on results from previous
         queries
     ●   Substituting placeholders in query templates




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
String s1 = "http://cb.semsol.org/sparql";
   String s2 = "http://dbpedia.org/sparql";

   String qTmpl = "SELECT ?c WHERE{ <%s> rdfs:comment ?c }";

   String q1 = "SELECT ?s WHERE { ...";
   QueryExecution e1 = QueryExecutionFactory.sparqlService(s1,q1);
   ResultSet results1 = e1.execSelect();
   while ( results1.hasNext() ) {
     QuerySolution s1 = results.nextSolution();
     String q2 = String.format( qTmpl, s1.getResource("s"),getURI() );
     QueryExecution e2= QueryExecutionFactory.sparqlService(s2,q2);
     ResultSet results2 = e2.execSelect();
     while ( results2.hasNext() ) {
       // ...
     }                               Find a list of companies
     e2.close();
   }
                                 filtered by some criteria and
   e1.close();                  return DBpedia URIs of them
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Follow-up Queries
     ●   Advantage:
          ●   Queried data is up-to-date
     ●   Drawbacks:
          ●   Requires the existence of a SPARQL endpoint for
              each dataset
          ●   Requires program logic
          ●   Very inefficient




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Querying a Collection of Datasets
     ●   Idea: Use an existing SPARQL endpoint that
         provides access to a set of copies of relevant
         datasets
     ●   Example:
          ●   SPARQL endpoint by OpenLink SW over a majority
              of datasets from the LOD cloud at:
                                  http://lod.openlinksw.com/sparql




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Querying a Collection of Datasets
     ●   Advantage:
          ●   No need for specific program logic
     ●   Drawbacks:
          ●   Queried data might be out of date
          ●   Not all relevant datasets in the collection




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Own Store of Dataset Copies
     ●   Idea: Build your own store with copies of
         relevant datasets and query it
     ●   Possible stores:
          ●   Jena TDB http://jena.hpl.hp.com/wiki/TDB
          ●   Sesame http://www.openrdf.org/
          ●   OpenLink Virtuoso http://virtuoso.openlinksw.com/
          ●   4store http://4store.org/
          ●   AllegroGraph http://www.franz.com/agraph/
          ●   etc.

WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Populating Your Store
     ●   Get RDF dumps provided for the datasets
     ●   (Focussed) Crawling

     ●   ldspider http://code.google.com/p/ldspider/
          ●   Multithreaded API for focused crawling
          ●   Crawling strategies (breath-first, load-balancing)
          ●   Flexible configuration with callbacks and hooks



WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Own Store of Dataset Copies
     ●   Advantages:
          ●   No need for specific program logic
          ●   Can include all datasets
          ●   Independent of the existence, availability, and
              efficiency of SPARQL endpoints
     ●   Drawbacks:
          ●   Requires effort to set up and to operate the store
          ●   Ideally, data sources provide RDF dumps; if not?
          ●   How to keep the copies in sync with the originals?
          ●   Queried data might be out of date
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Federated Query Processing
     ●   Idea: Querying a mediator which                        ?
         distributes subqueries to
         relevant sources and
         integrates the results
                                                            ?
                                                                ?   ?



WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Federated Query Processing
     ●   Instance-based federation
          ●   Each thing described by only one data source
          ●   Untypical for the Web of Data
     ●   Triple-based federation
          ●   No restrictions
          ●   Requires more distributed joins


     ●   Statistics about datasets required (both cases)

WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Federated Query Processing
     ●   DARQ (Distributed ARQ)
                            http://darq.sourceforge.net/
          ●   Query engine for federated SPARQL queries
          ●   Extension of ARQ (query engine for Jena)
          ●   Last update: June 28, 2006




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Federated Query Processing
     ●   Semantic Web Integrator and Query Engine
         (SemWIQ)        http://semwiq.sourceforge.net/
          ●   Actively maintained by Andreas Langegger




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Federated Query Processing
     ●   Advantages:
          ●   No need for specific program logic
          ●   Queried data is up to date
     ●   Drawbacks:
          ●   Requires the existence of a SPARQL endpoint for
              each dataset
          ●   Requires effort to set up and configure the mediator




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
In any case:
     ●   You have to know the relevant data sources
          ●   When developing the app using follow-up queries
          ●   When selecting an existing SPARQL endpoint over
              a collection of dataset copies
          ●   When setting up your own store with a collection of
              dataset copies
          ●   When configuring your query federation system
     ●   You restrict yourself to the selected sources



WWW 2010 Tutorial "How to Consume Linked Data on the Web"
In any case:
     ●   You have to know the relevant data sources
          ●   When developing the app using follow-up queries
          ●   When selecting an existing SPARQL endpoint over
              a collection of dataset copies
          ●   When setting up your own store with a collection of
              dataset copies
          ●   When configuring your query federation system
     ●   You restrict yourself to the selected sources
                    There is an alternative:
                Remember, URIs link to data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Automated
                             Link Traversal


WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Automated Link Traversal
     ●   Idea: Discover further data by looking up
         relevant URIs in your application
     ●   Can be combined with the previous approaches




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
     ●   Applies the idea of automated link traversal to the
         execution of SPARQL queries
     ●   Idea:
          ●   Intertwine query evaluation with traversal of RDF links
          ●   Discover data that might contribute to query results
              during query execution
     ●   Alternately:
          ●   Evaluate parts of the query
          ●   Look up URIs in intermediate solutions

                                                             Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .
   ?cStats stat:unempRate ?u . }

     ●   Example:
         Return unemployment rate of the countries in
         which the movie http://mymovie.db/movie2449
         was filmed.

                                                            Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .
                                                                                            49
                                                                                     v ie24
   ?cStats stat:unempRate ?u                                . }              .d b/mo
                                                                      m ovie
                                                            http ://my       ?




                                                                                                 Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .
   ?cStats stat:unempRate ?u . }




                                                            Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .
   ?cStats stat:unempRate ?u . }




                                                 ...
   <http://mymovie.db/movie2449>
          mov:filming_location <http://geo.../Italy> .
                                                            Queried data
                                                 ...
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                     ?loc
   ?cStats stat:unempRate ?u . }                            http://geo.../Italy




                                                 ...
   <http://mymovie.db/movie2449>
          mov:filming_location <http://geo.../Italy> .
                                                                Queried data
                                                 ...
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                                              ?loc
   ?cStats stat:unempRate ?u . }                                                     http://geo.../Italy
                                                                              taly
                                                                       o.../I
                                                                 / / ge ?
                                                            http:




                                                                                         Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                                             ?loc
   ?cStats stat:unempRate ?u . }                                               ly
                                                                                    http://geo.../Italy
                                                                     eo .../Ita
                                                            http://g       ?




                                                                                        Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                     ?loc
   ?cStats stat:unempRate ?u . }                            http://geo.../Italy




                                                                Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                     ?loc
   ?cStats stat:unempRate ?u . }                            http://geo.../Italy




                                                 ...
   <http://geo.../Italy>
           geo:statistics <http://example.db/stat/IT> .
                                                 ...            Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                                          ?loc
   ?cStats stat:unempRate ?u . }                                                 http://geo.../Italy


                                                                  ?loc                  ?stat
                                                            http://geo.../Italy http://stats.db/../it



                                                 ...
   <http://geo.../Italy>
           geo:statistics <http://example.db/stat/IT> .
                                                 ...                                  Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
 SELECT ?c ?u WHERE {
   <http://mymovie.db/movie2449> mov:filming_location ?c .
   ?c geo:statistics ?cStats .                                                          ?loc
   ?cStats stat:unempRate ?u . }                                                 http://geo.../Italy


                                                                  ?loc                  ?stat
                                                            http://geo.../Italy http://stats.db/../it

     ●   Proceed with this strategy
         (traverse RDF links
          during query execution)

                                                                                      Queried data
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Link Traversal Based
                             Query Execution
     ●   Advantages:
          ●   No need to know all data sources in advance
          ●   No need for specific programming logic
          ●   Queried data is up to date
          ●   Does not depend on the existence of SPARQL
              endpoints provided by the data sources
     ●   Drawbacks:
          ●   Not as fast as a centralized collection of copies
          ●   Unsuitable for some queries
          ●   Results might be incomplete
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Implementations
     ●   Semantic Web Client library (SWClLib) for Java
         http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/
     ●   SWIC for Prolog http://moustaki.org/swic/




WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Implementations
     ●   SQUIN http://squin.org
          ●   Provides SWClLib functionality as a Web service
          ●   Accessible like a SPARQL endpoint
          ●   Public SQUIN service at:
                       http://squin.informatik.hu-berlin.de/SQUIN/
          ●   Install package: unzip and start
          ●   Convenient access with SQUIN PHP tools:

              $s = 'http:// …'; // address of the SQUIN service
              $q = new SparqlQuerySock( $s, '… SELECT ...' );
              $res = $q->getJsonResult(); // or getXmlResult()
WWW 2010 Tutorial "How to Consume Linked Data on the Web"
Real-World Examples
 SELECT DISTINCT ?author ?phone WHERE {
     ?pub swc:isPartOf
           <http://data.semanticweb.org/conference/eswc/2009/proceedings> .
     ?pub swc:hasTopic ?topic . ?topic rdfs:label ?topicLabel .
     FILTER regex( str(?topicLabel), "ontology engineering", "i" ) .

                                                               # of query results         2
     ?pub swrc:author ?author .                              # of retrieved graphs      297
     { ?author owl:sameAs ?authorAlt }                      # of accessed servers        16
     UNION                                                    avg. execution time    1min 30sec
     { ?authorAlt owl:sameAs ?author }
                                                                 Return
     ?authorAlt foaf:phone ?phone .                     phone numbers of authors
                                                     of ontology engineering papers
 }
                                                              at ESWC'09.
WWW 2010 Tutorial "How to Consume Linked Data on the Web"

Weitere ähnliche Inhalte

Was ist angesagt?

Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOVirtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOPaolo Cristofaro
 
Mi Domain Wheel Slides
Mi Domain Wheel SlidesMi Domain Wheel Slides
Mi Domain Wheel Slideslancesfa
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA KeynoteAxel Polleres
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFaIvan Herman
 
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
RDFa In A Nutshell V2
RDFa In A Nutshell V2RDFa In A Nutshell V2
RDFa In A Nutshell V2Fabien Gandon
 
Hadoop, Hbase and Hive- Bay area Hadoop User Group
Hadoop, Hbase and Hive- Bay area Hadoop User GroupHadoop, Hbase and Hive- Bay area Hadoop User Group
Hadoop, Hbase and Hive- Bay area Hadoop User GroupHadoop User Group
 
GDG Meets U event - Big data & Wikidata - no lies codelab
GDG Meets U event - Big data & Wikidata -  no lies codelabGDG Meets U event - Big data & Wikidata -  no lies codelab
GDG Meets U event - Big data & Wikidata - no lies codelabCAMELIA BOBAN
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk finalRachel Warren
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkRachel Warren
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaThomas Kurz
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sourcesrumito
 
Enabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMEnabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMThomas Kurz
 
The Cultural Linked Data Backbone
The Cultural Linked Data BackboneThe Cultural Linked Data Backbone
The Cultural Linked Data BackboneRichard Wallis
 
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabCloudxLab
 
Solr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ EtsySolr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ Etsylucenerevolution
 

Was ist angesagt? (20)

Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOVirtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
 
20080529dublinpt1
20080529dublinpt120080529dublinpt1
20080529dublinpt1
 
Mi Domain Wheel Slides
Mi Domain Wheel SlidesMi Domain Wheel Slides
Mi Domain Wheel Slides
 
20100614 ISWSA Keynote
20100614 ISWSA Keynote20100614 ISWSA Keynote
20100614 ISWSA Keynote
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFa
 
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Apache Hive | Big Data Hadoop Spark Tutorial | CloudxLab
 
RDFa In A Nutshell V2
RDFa In A Nutshell V2RDFa In A Nutshell V2
RDFa In A Nutshell V2
 
Hadoop, Hbase and Hive- Bay area Hadoop User Group
Hadoop, Hbase and Hive- Bay area Hadoop User GroupHadoop, Hbase and Hive- Bay area Hadoop User Group
Hadoop, Hbase and Hive- Bay area Hadoop User Group
 
GDG Meets U event - Big data & Wikidata - no lies codelab
GDG Meets U event - Big data & Wikidata -  no lies codelabGDG Meets U event - Big data & Wikidata -  no lies codelab
GDG Meets U event - Big data & Wikidata - no lies codelab
 
App auto crud
App auto crudApp auto crud
App auto crud
 
Spark autotuning talk final
Spark autotuning talk finalSpark autotuning talk final
Spark autotuning talk final
 
Understanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New YorkUnderstanding Spark Tuning: Strata New York
Understanding Spark Tuning: Strata New York
 
Linked Media Management with Apache Marmotta
Linked Media Management with Apache MarmottaLinked Media Management with Apache Marmotta
Linked Media Management with Apache Marmotta
 
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data SourcesVirtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
Virtuoso Sponger - RDFizer Middleware for creating RDF from non RDF Data Sources
 
Enabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MMEnabling access to Linked Media with SPARQL-MM
Enabling access to Linked Media with SPARQL-MM
 
The Cultural Linked Data Backbone
The Cultural Linked Data BackboneThe Cultural Linked Data Backbone
The Cultural Linked Data Backbone
 
Ecuadorian Geospatial Linked Data
Ecuadorian Geospatial Linked Data Ecuadorian Geospatial Linked Data
Ecuadorian Geospatial Linked Data
 
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLabIntroduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
Introduction to Pig & Pig Latin | Big Data Hadoop Spark Tutorial | CloudxLab
 
Solr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ EtsySolr, Lucene and Hadoop @ Etsy
Solr, Lucene and Hadoop @ Etsy
 
Hive hcatalog
Hive hcatalogHive hcatalog
Hive hcatalog
 

Andere mochten auch

An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryOlaf Hartig
 
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationRethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationOlaf Hartig
 
If you love something... set it free
If you love something... set it freeIf you love something... set it free
If you love something... set it freeIan Davis
 
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Olaf Hartig
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Olaf Hartig
 
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebOlaf Hartig
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Olaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Olaf Hartig
 
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Olaf Hartig
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Olaf Hartig
 
LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataOlaf Hartig
 

Andere mochten auch (14)

An Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and QueryAn Overview on PROV-AQ: Provenance Access and Query
An Overview on PROV-AQ: Provenance Access and Query
 
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result VisualizationRethinking Online SPARQL Querying to Support Incremental Result Visualization
Rethinking Online SPARQL Querying to Support Incremental Result Visualization
 
If you love something... set it free
If you love something... set it freeIf you love something... set it free
If you love something... set it free
 
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
Tutorial "Linked Data Query Processing" Part 3 "Source Selection Strategies" ...
 
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
Tutorial "Linked Data Query Processing" Part 2 "Theoretical Foundations" (WWW...
 
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
(An Overview on) Linked Data Management and SPARQL Querying (ISSLOD2011)
 
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
Tutorial "Linked Data Query Processing" Part 1 "Introduction" (WWW 2013 Ed.)
 
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
Tutorial "Linked Data Query Processing" Part 5 "Query Planning and Optimizati...
 
A Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the WebA Context-Based Semantics for SPARQL Property Paths over the Web
A Context-Based Semantics for SPARQL Property Paths over the Web
 
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
Zero-Knowledge Query Planning for an Iterator Implementation of Link Traversa...
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 1 (...
 
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
Tutorial "Linked Data Query Processing" Part 4 "Execution Process" (WWW 2013 ...
 
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
Tutorial "An Introduction to SPARQL and Queries over Linked Data" Chapter 3 (...
 
LDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked DataLDQL: A Query Language for the Web of Linked Data
LDQL: A Query Language for the Web of Linked Data
 

Ähnlich wie Querying Linked Data with SPARQL (2010)

Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQLOlaf Hartig
 
balloon Fusion: SPARQL Rewriting Based on Unified Co-Reference Information
balloon Fusion: SPARQL Rewriting Based on  Unified Co-Reference Informationballoon Fusion: SPARQL Rewriting Based on  Unified Co-Reference Information
balloon Fusion: SPARQL Rewriting Based on Unified Co-Reference InformationKai Schlegel
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introductionGraphity
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)andyseaborne
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic webMarakana Inc.
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011sesam4able
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011Robert Engels
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And VisualizationIvan Ermilov
 
Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016Martin Necasky
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLMyungjin Lee
 
Introduction to SparkR
Introduction to SparkRIntroduction to SparkR
Introduction to SparkROlgun Aydın
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xmlFelix Sasaki
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaKatrien Verbert
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsDr. Neil Brittliff
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge queryStanley Wang
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introductionKristof Van Tomme
 
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...Diego Berrueta
 

Ähnlich wie Querying Linked Data with SPARQL (2010) (20)

Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQL
 
balloon Fusion: SPARQL Rewriting Based on Unified Co-Reference Information
balloon Fusion: SPARQL Rewriting Based on  Unified Co-Reference Informationballoon Fusion: SPARQL Rewriting Based on  Unified Co-Reference Information
balloon Fusion: SPARQL Rewriting Based on Unified Co-Reference Information
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)SPARQL 1.1 Update (2013-03-05)
SPARQL 1.1 Update (2013-03-05)
 
A hands on overview of the semantic web
A hands on overview of the semantic webA hands on overview of the semantic web
A hands on overview of the semantic web
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011
 
Data Integration And Visualization
Data Integration And VisualizationData Integration And Visualization
Data Integration And Visualization
 
Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016Linked Open Data - Masaryk University in Brno 8.11.2016
Linked Open Data - Masaryk University in Brno 8.11.2016
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
Introduction to SparkR
Introduction to SparkRIntroduction to SparkR
Introduction to SparkR
 
Introduction to SparkR
Introduction to SparkRIntroduction to SparkR
Introduction to SparkR
 
Linked data-tooling-xml
Linked data-tooling-xmlLinked data-tooling-xml
Linked data-tooling-xml
 
Linked data tooling XML
Linked data tooling XMLLinked data tooling XML
Linked data tooling XML
 
WebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPediaWebTech Tutorial Querying DBPedia
WebTech Tutorial Querying DBPedia
 
A Little SPARQL in your Analytics
A Little SPARQL in your AnalyticsA Little SPARQL in your Analytics
A Little SPARQL in your Analytics
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
 
Semantic web and Drupal: an introduction
Semantic web and Drupal: an introductionSemantic web and Drupal: an introduction
Semantic web and Drupal: an introduction
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
XSLT+SPARQL: Scripting the Semantic Web with SPARQL embedded into XSLT styles...
 

Mehr von Olaf Hartig

The Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataThe Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataOlaf Hartig
 
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataHow Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataOlaf Hartig
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataOlaf Hartig
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Olaf Hartig
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Olaf Hartig
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Olaf Hartig
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the WebOlaf Hartig
 
Executing SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataExecuting SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataOlaf Hartig
 
Using Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentUsing Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentOlaf Hartig
 
Answers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataAnswers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataOlaf Hartig
 
Querying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLQuerying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLOlaf Hartig
 
Database Researchers Map
Database Researchers MapDatabase Researchers Map
Database Researchers MapOlaf Hartig
 
Provenance Information in the Web of Data
Provenance Information in the Web of DataProvenance Information in the Web of Data
Provenance Information in the Web of DataOlaf Hartig
 
The SPARQL Query Graph Model for Query Optimization
The SPARQL Query Graph Model for Query OptimizationThe SPARQL Query Graph Model for Query Optimization
The SPARQL Query Graph Model for Query OptimizationOlaf Hartig
 
The Semantics of SPARQL
The Semantics of SPARQLThe Semantics of SPARQL
The Semantics of SPARQLOlaf Hartig
 

Mehr von Olaf Hartig (15)

The Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked DataThe Impact of Data Caching of on Query Execution for Linked Data
The Impact of Data Caching of on Query Execution for Linked Data
 
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked DataHow Caching Improves Efficiency and Result Completeness for Querying Linked Data
How Caching Improves Efficiency and Result Completeness for Querying Linked Data
 
A Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked DataA Main Memory Index Structure to Query Linked Data
A Main Memory Index Structure to Query Linked Data
 
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
Towards a Data-Centric Notion of Trust in the Semantic Web (A Position Statem...
 
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
Brief Introduction to the Provenance Vocabulary (for W3C prov-xg)
 
Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)Answers to usual issues in getting started with consuming Linked Data (2010)
Answers to usual issues in getting started with consuming Linked Data (2010)
 
Linked Data on the Web
Linked Data on the WebLinked Data on the Web
Linked Data on the Web
 
Executing SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked DataExecuting SPARQL Queries of the Web of Linked Data
Executing SPARQL Queries of the Web of Linked Data
 
Using Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality AssessmentUsing Web Data Provenance for Quality Assessment
Using Web Data Provenance for Quality Assessment
 
Answers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked DataAnswers to usual issues in getting started with consuming Linked Data
Answers to usual issues in getting started with consuming Linked Data
 
Querying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQLQuerying Trust in RDF Data with tSPARQL
Querying Trust in RDF Data with tSPARQL
 
Database Researchers Map
Database Researchers MapDatabase Researchers Map
Database Researchers Map
 
Provenance Information in the Web of Data
Provenance Information in the Web of DataProvenance Information in the Web of Data
Provenance Information in the Web of Data
 
The SPARQL Query Graph Model for Query Optimization
The SPARQL Query Graph Model for Query OptimizationThe SPARQL Query Graph Model for Query Optimization
The SPARQL Query Graph Model for Query Optimization
 
The Semantics of SPARQL
The Semantics of SPARQLThe Semantics of SPARQL
The Semantics of SPARQL
 

Kürzlich hochgeladen

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Kürzlich hochgeladen (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

Querying Linked Data with SPARQL (2010)

  • 1. Querying Linked Data with SPARQL WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 2. Brief Introduction to SPARQL ● SPARQL: Query Language for RDF data* ● Main idea: pattern matching ● Describe subgraphs of the queried RDF graph ● Subgraphs that match your description yield a result ● Mean: graph patterns (i.e. RDF graphs /w variables) ?v rdf:type http://.../Volcano * http://www.w3.org/TR/rdf-sparql-query/ WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 3. Brief Introduction to SPARQL Queried graph: rdf:type http://.../Mount_Baker http://.../Volcano p:lastEruption rdf:type "1880" http://.../Mount_Etna ?v rdf:type Results: http://.../Volcano ?v http://.../Mount_Baker http://.../Mount_Etna WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 4. SPARQL Endpoints ● Linked Data sources usually provide a SPARQL endpoint for their dataset(s) ● SPARQL endpoint: SPARQL query processing service that supports the SPARQL protocol* ● Send your SPARQL query, receive the result * http://www.w3.org/TR/rdf-sparql-protocol/ WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 5. SPARQL Endpoints Data Source Endpoint Address DBpedia http://dbpedia.org/sparql Musicbrainz http://dbtune.org/musicbrainz/sparql U.S. Census http://www.rdfabout.com/sparql Semantic Crunchbase http://cb.semsol.org/sparql More complete list: http://esw.w3.org/topic/SparqlEndpoints WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 6. Accessing a SPARQL Endpoint ● SPARQL endpoints: RESTful Web services ● Issuing SPARQL queries to a remote SPARQL endpoint is basically an HTTP GET request to the SPARQL endpoint with parameter query GET /sparql?query=PREFIX+rd... HTTP/1.1 Host: dbpedia.org User-agent: my-sparql-client/0.1 URL-encoded string with the SPARQL query WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 7. Query Results Formats ● SPARQL endpoints usually support different result formats: ● XML, JSON, plain text (for ASK and SELECT queries) ● RDF/XML, NTriples, Turtle, N3 (for DESCRIBE and CONSTRUCT queries) WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 8. Query Results Formats PREFIX dbp: <http://dbpedia.org/ontology/> PREFIX dbpprop: <http://dbpedia.org/property/> SELECT ?name ?bday WHERE { ?p dbp:birthplace <http://dbpedia.org/resource/Berlin> . ?p dbpprop:dateOfBirth ?bday . ?p dbpprop:name ?name . } name | bday ------------------------+------------ Alexander von Humboldt | 1769-09-14 Ernst Lubitsch | 1892-01-28 ... WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 9. <?xml version="1.0"?> <sparql xmlns="http://www.w3.org/2005/sparql-results#"> <head> <variable name="name"/> <variable name="bday"/> </head> <results distinct="false" ordered="true"> <result> <binding name="name"> <literal xml:lang="en">Alexander von Humboldt</literal> </binding> <binding name="bday"> <literal datatype="http://www.w3.org/2001/XMLSchema#date">1769-09-14</literal> </binding> </result> <result> <binding name="name"> <literal xml:lang="en">Ernst Lubitsch</literal> </binding> <binding name="bday"> <literal datatype="http://www.w3.org/2001/XMLSchema#date">1892-01-28</literal> </binding> </result> http://www.w3.org/TR/rdf-sparql-XMLres/ <!-- … --> </results> WWW 2010 Tutorial "How to Consume Linked Data on the Web" </sparql>
  • 10. { "head": { "link": [], "vars": ["name", "bday"] }, "results": { "distinct": false, "ordered": true, "bindings": [ { "name": { "type": "literal", "xml:lang": "en", "value": "Alexander von Humboldt" } , "bday": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#date", "value": "1769-09-14" } }, { "name": { "type": "literal", "xml:lang": "en", "value": "Ernst Lubitsch" } , "bday": { "type": "typed-literal", "datatype": "http://www.w3.org/2001/XMLSchema#date", "value": "1892-01-28" } }, // ... ] } http://www.w3.org/TR/rdf-sparql-json-res/ } WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 11. Query Result Formats ● Use the ACCEPT header to request the preferred result format: GET /sparql?query=PREFIX+rd... HTTP/1.1 Host: dbpedia.org User-agent: my-sparql-client/0.1 Accept: application/sparql-results+json WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 12. Query Result Formats ● As an alternative some SPARQL endpoint implementations (e.g. Joseki) provide an additional parameter out GET /sparql?out=json&query=... HTTP/1.1 Host: dbpedia.org User-agent: my-sparql-client/0.1 WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 13. Accessing a SPARQL Endpoint ● More convenient: use a library ● Libraries: ● SPARQL JavaScript Library http://www.thefigtrees.net/lee/blog/2006/04/sparql_calendar_demo_a_sparql.html ● ARC for PHP http://arc.semsol.org/ ● RAP – RDF API for PHP http://www4.wiwiss.fu-berlin.de/bizer/rdfapi/index.html WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 14. Accessing a SPARQL Endpoint ● Libraries (cont.): ● Jena / ARQ (Java) http://jena.sourceforge.net/ ● Sesame (Java) http://www.openrdf.org/ ● SPARQL Wrapper (Python) http://sparql-wrapper.sourceforge.net/ ● PySPARQL (Python) http://code.google.com/p/pysparql/ WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 15. Accessing a SPARQL Endpoint ● Example with Jena / ARQ: import com.hp.hpl.jena.query.*; String service = "..."; // address of the SPARQL endpoint String query = "SELECT ..."; // your SPARQL query QueryExecution e = QueryExecutionFactory.sparqlService( service, query ); ResultSet results = e.execSelect(); while ( results.hasNext() ) { QuerySolution s = results.nextSolution(); // … } e.close(); WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 16. Querying a single dataset is quite boring compared to: ● Issuing SPARQL queries over multiple datasets ● How can you do this? 1. Issue follow-up queries to different endpoints 2. Querying a central collection of datasets 3. Build store with copies of relevant datasets 4. Use query federation system WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 17. Follow-up Queries ● Idea: issue follow-up queries over other datasets based on results from previous queries ● Substituting placeholders in query templates WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 18. String s1 = "http://cb.semsol.org/sparql"; String s2 = "http://dbpedia.org/sparql"; String qTmpl = "SELECT ?c WHERE{ <%s> rdfs:comment ?c }"; String q1 = "SELECT ?s WHERE { ..."; QueryExecution e1 = QueryExecutionFactory.sparqlService(s1,q1); ResultSet results1 = e1.execSelect(); while ( results1.hasNext() ) { QuerySolution s1 = results.nextSolution(); String q2 = String.format( qTmpl, s1.getResource("s"),getURI() ); QueryExecution e2= QueryExecutionFactory.sparqlService(s2,q2); ResultSet results2 = e2.execSelect(); while ( results2.hasNext() ) { // ... } Find a list of companies e2.close(); } filtered by some criteria and e1.close(); return DBpedia URIs of them WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 19. Follow-up Queries ● Advantage: ● Queried data is up-to-date ● Drawbacks: ● Requires the existence of a SPARQL endpoint for each dataset ● Requires program logic ● Very inefficient WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 20. Querying a Collection of Datasets ● Idea: Use an existing SPARQL endpoint that provides access to a set of copies of relevant datasets ● Example: ● SPARQL endpoint by OpenLink SW over a majority of datasets from the LOD cloud at: http://lod.openlinksw.com/sparql WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 21. Querying a Collection of Datasets ● Advantage: ● No need for specific program logic ● Drawbacks: ● Queried data might be out of date ● Not all relevant datasets in the collection WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 22. Own Store of Dataset Copies ● Idea: Build your own store with copies of relevant datasets and query it ● Possible stores: ● Jena TDB http://jena.hpl.hp.com/wiki/TDB ● Sesame http://www.openrdf.org/ ● OpenLink Virtuoso http://virtuoso.openlinksw.com/ ● 4store http://4store.org/ ● AllegroGraph http://www.franz.com/agraph/ ● etc. WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 23. Populating Your Store ● Get RDF dumps provided for the datasets ● (Focussed) Crawling ● ldspider http://code.google.com/p/ldspider/ ● Multithreaded API for focused crawling ● Crawling strategies (breath-first, load-balancing) ● Flexible configuration with callbacks and hooks WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 24. Own Store of Dataset Copies ● Advantages: ● No need for specific program logic ● Can include all datasets ● Independent of the existence, availability, and efficiency of SPARQL endpoints ● Drawbacks: ● Requires effort to set up and to operate the store ● Ideally, data sources provide RDF dumps; if not? ● How to keep the copies in sync with the originals? ● Queried data might be out of date WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 25. Federated Query Processing ● Idea: Querying a mediator which ? distributes subqueries to relevant sources and integrates the results ? ? ? WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 26. Federated Query Processing ● Instance-based federation ● Each thing described by only one data source ● Untypical for the Web of Data ● Triple-based federation ● No restrictions ● Requires more distributed joins ● Statistics about datasets required (both cases) WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 27. Federated Query Processing ● DARQ (Distributed ARQ) http://darq.sourceforge.net/ ● Query engine for federated SPARQL queries ● Extension of ARQ (query engine for Jena) ● Last update: June 28, 2006 WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 28. Federated Query Processing ● Semantic Web Integrator and Query Engine (SemWIQ) http://semwiq.sourceforge.net/ ● Actively maintained by Andreas Langegger WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 29. Federated Query Processing ● Advantages: ● No need for specific program logic ● Queried data is up to date ● Drawbacks: ● Requires the existence of a SPARQL endpoint for each dataset ● Requires effort to set up and configure the mediator WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 30. In any case: ● You have to know the relevant data sources ● When developing the app using follow-up queries ● When selecting an existing SPARQL endpoint over a collection of dataset copies ● When setting up your own store with a collection of dataset copies ● When configuring your query federation system ● You restrict yourself to the selected sources WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 31. In any case: ● You have to know the relevant data sources ● When developing the app using follow-up queries ● When selecting an existing SPARQL endpoint over a collection of dataset copies ● When setting up your own store with a collection of dataset copies ● When configuring your query federation system ● You restrict yourself to the selected sources There is an alternative: Remember, URIs link to data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 32. Automated Link Traversal WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 33. Automated Link Traversal ● Idea: Discover further data by looking up relevant URIs in your application ● Can be combined with the previous approaches WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 34. Link Traversal Based Query Execution ● Applies the idea of automated link traversal to the execution of SPARQL queries ● Idea: ● Intertwine query evaluation with traversal of RDF links ● Discover data that might contribute to query results during query execution ● Alternately: ● Evaluate parts of the query ● Look up URIs in intermediate solutions Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 35. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?cStats stat:unempRate ?u . } ● Example: Return unemployment rate of the countries in which the movie http://mymovie.db/movie2449 was filmed. Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 36. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . 49 v ie24 ?cStats stat:unempRate ?u . } .d b/mo m ovie http ://my ? Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 37. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?cStats stat:unempRate ?u . } Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 38. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?cStats stat:unempRate ?u . } ... <http://mymovie.db/movie2449> mov:filming_location <http://geo.../Italy> . Queried data ... WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 39. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy ... <http://mymovie.db/movie2449> mov:filming_location <http://geo.../Italy> . Queried data ... WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 40. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy taly o.../I / / ge ? http: Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 41. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } ly http://geo.../Italy eo .../Ita http://g ? Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 42. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 43. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy ... <http://geo.../Italy> geo:statistics <http://example.db/stat/IT> . ... Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 44. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy ?loc ?stat http://geo.../Italy http://stats.db/../it ... <http://geo.../Italy> geo:statistics <http://example.db/stat/IT> . ... Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 45. Link Traversal Based Query Execution SELECT ?c ?u WHERE { <http://mymovie.db/movie2449> mov:filming_location ?c . ?c geo:statistics ?cStats . ?loc ?cStats stat:unempRate ?u . } http://geo.../Italy ?loc ?stat http://geo.../Italy http://stats.db/../it ● Proceed with this strategy (traverse RDF links during query execution) Queried data WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 46. Link Traversal Based Query Execution ● Advantages: ● No need to know all data sources in advance ● No need for specific programming logic ● Queried data is up to date ● Does not depend on the existence of SPARQL endpoints provided by the data sources ● Drawbacks: ● Not as fast as a centralized collection of copies ● Unsuitable for some queries ● Results might be incomplete WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 47. Implementations ● Semantic Web Client library (SWClLib) for Java http://www4.wiwiss.fu-berlin.de/bizer/ng4j/semwebclient/ ● SWIC for Prolog http://moustaki.org/swic/ WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 48. Implementations ● SQUIN http://squin.org ● Provides SWClLib functionality as a Web service ● Accessible like a SPARQL endpoint ● Public SQUIN service at: http://squin.informatik.hu-berlin.de/SQUIN/ ● Install package: unzip and start ● Convenient access with SQUIN PHP tools: $s = 'http:// …'; // address of the SQUIN service $q = new SparqlQuerySock( $s, '… SELECT ...' ); $res = $q->getJsonResult(); // or getXmlResult() WWW 2010 Tutorial "How to Consume Linked Data on the Web"
  • 49. Real-World Examples SELECT DISTINCT ?author ?phone WHERE { ?pub swc:isPartOf <http://data.semanticweb.org/conference/eswc/2009/proceedings> . ?pub swc:hasTopic ?topic . ?topic rdfs:label ?topicLabel . FILTER regex( str(?topicLabel), "ontology engineering", "i" ) . # of query results 2 ?pub swrc:author ?author . # of retrieved graphs 297 { ?author owl:sameAs ?authorAlt } # of accessed servers 16 UNION avg. execution time 1min 30sec { ?authorAlt owl:sameAs ?author } Return ?authorAlt foaf:phone ?phone . phone numbers of authors of ontology engineering papers } at ESWC'09. WWW 2010 Tutorial "How to Consume Linked Data on the Web"