SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
SPARQL
                    NHN
               kwangsub.kim@gmail.com




                               RDF Tutorial 2009. 10. 31
RDF             !
               SPARQL               !
                PLAY        !
               SPARQL 1.1           !
http://delicious.com/kwangsub.kim/bundle:RDFTutorial2009




                http://vocamp.org/wiki/VoCampSeoul2009#Slides
                http://delicious.com/kwangsub.kim/%23VoCampSeoul2009
RDF
       Resource Description Framework
                                                (   )   !


                                                            !
                         Subject - Predicate - Object


                                                        !


                     ,             (RSS)
            ,            (FOAF)
...
Graph             ?




               SPARQL

                      <sparql ...>
                       <head>
                        <variable name="x"/>
                        <variable name="mbox"/>
                       </head>
                          <results>
                           <result>
                             <binding name="x">
                      	

      <bnode>r2</bnode>
                             </binding>
                             <binding name="mbox">
                      	

      <uri>mailto:bob@work.example.org</uri>
                             </binding>
                           </result>
                          </results>
                      </sparql>
2008-07-16




                                 ...
*http://pingthesemanticweb.com
2008-11-04




                                 ...
*http://pingthesemanticweb.com
2009-01-08




                                 ...
*http://pingthesemanticweb.com
2008-07-16            2009-10-31
                                           2008-11-04
                                           2009-01-08



                                    200%
                                    200%



                        4,955,878      16,705,060
                                        7,504,227
                                        8,826,082

*http://pingthesemanticweb.com
GRDDL     SPARQL
SPARQL
Simple Protocol And RDF Query Language
                 is a query language and a protocol for accessing RDF
                                                                      <sparql ...>
          Simple Protocol                                              <head>
                                                                        <variable name="x"/>
                                                                        <variable name="mbox"/>
                                                                       </head>
          http://semantic.lab.naver.com/rdf/endpoint/sparql?select.... <results>
                                                                           <result>
                                                                             <binding name="x">
                         SELECT ?email                                	

     <bnode>r2</bnode>
                         WHERE {                                             </binding>
                                                                             <binding name="mbox">
                           ?user :email ?email.                       	

     <uri>mailto:bob@work.exampl
                           ?user :name “        ”;                           </binding>
&                        }
                                                                           </result>
                                                                          </results>
                                                                      </sparql>

           RDF Query Language
           Graph              SPO (Subject, Predicate, Object)
               Query Language
                                         Pattern Match
SPA RDF Query Language
Query Language
SQL vs. SPARQL
                                                     Return Variables



SELECT name                                 SELECT ?name
FROM users                                  WHERE {
WHERE contact=‘011-201-0000’;                 ?user rdf:type :User.
                                              ?user :name ?name.
                                              ?user :contact “011-201-0000”.
                              SPO Pattern
                                            }
                                            FROM <http://semantic/users.rdf>
                      Graph Source
Graph > Query Language > Binding > Protocol

                           rdf:type                       SELECT ?name
          _person                        foaf:Person
                                                          WHERE {
                        :contact
                                                            ?user rdf:type foaf:Person.
                                      “011-201-0000”
                :name                                       ?user :contact “011-201-0000”.
                                                            ?user :name ?name.
                                                          }
                            <http://semantic/users.rdf>   FROM <http://semantic/users.rdf>


                                                          <sparql xmlns=”http://www.w3.org...”>
                                                              <head>
                                                               <variable name="name"/>
                                                              </head>
                ?name = “               ”                     <results>
                                                               <result>
                                                                 <binding name="name">
                                                          	

    <literal>      </literal>
                                                                 </binding>
                                                               </result>
                                                              </results>
                                                          </sparql>
SPARQL

               BASE <http://example.org/>
               PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
               PREFIX foaf: <http://xmlns.com/foaf/0.1/>
               PREFIX ex: <properties/1.0#>
               SELECT DISTINCT $person ?name $age
               FROM <http://rdf.example.org/personA.rdf>
               FROM <http://rdf.example.org/personB.rdf>
               WHERE
               {
                 $person a foaf:Person ;
                               foaf:name ?name.
                 OPTIONAL { $person ex:age $age } .
                 FILTER (!REGEX(?name, “Bob”))
               }
               ORDER BY ASC(?name) LIMIT 10 OFFSET 20


                                                * SPARQL RDF Query Language Reference v1.8 by Dave Beckett.
Terms

               Sytax

               Pattern
Terms
          IRI : URI reference within an RDF graph
               <http://www.w3.org>
               <http://semantic.naver.com/#Movie>
               <abc.rdf> //base URI
               foaf:name //prefix        URI    , PREFIX
               #x00 (X) //UNICODE

          Datatype IRI : datatype URI
               <http://www.w3.org/2001/XMLSchema#string>
               <http://www.w3.org/2001/XMLSchema#integer>

          Plain Literal : lexical form, optionally language tag, @ko
               “Semantic web” , “      ”@ko
          Typed Literal : lexical form, datatype URI
               “30”^^xsd:integer
               “kwangsub”^^http://www.w3.org/2001/XMLSchema#string

          Blank node : dummy node, node                              ,
               _:a, _n06968595988
Terms

               NameSpace :Vocabulary                   URI
                    http://www.w3.org/1999/02/22-rdf-syntax-ns#
                    http://purl.org/dc/elements/1.1/
                    http://xmlns.com/foaf/0.1/

               Prefix : URI
                    rdf, dc, foaf


               RDF Graph : A Set of RDF Triples

               RDF Triple : S-P-O
                    Subject : IRI or Blank Node
                    Predicate : IRI
                    Object : IRI or Blank Node or Literal
Terms

     Match
      : Graph            SPO   Query Pattern   Match



     Solutions : Match
                ?x = “     ”



     Query Variable : Solutions
                ?x or $name
Play #
               “   ”              “email” ?


                                    :email
                        _person                kwangsub.kim@gmail.com


                       :name




           SELECT ?email
           WHERE {
             ?person :email ?email.
             ?person :name “        ”;
           }
Syntax - RDF Term Syntax
          Literals

          “Hi Korea”   //”Hi Korea”

          “Hi Korea”@en    //

          “Hi Korea”^^xsd:string //         etc. integer, boolean



          1 == “1”^^xsd:integer

          true == “true”^^xsd:boolean

          1.3 == “1.3”^^xsd:decimal
Play #
                kwangsub                               email   ?


                                :email
                     _person                 kwangsub.kim@gmail.com


                    :name

                               kwangsub@en




           SELECT ?email
           WHERE {
             ?person :name “kwangsub”@en.
             ?person :email ?email.
           }
Syntax - RDF Term Syntax
          IRI
          <http://example.org/book/book1>


          BASE <http://example.org/book/>
          <book1>


          PREFIX book: <http://example.org/book/>
          book:book1
Syntax -Triple Pattern Syntax
          PREFIX, BASE

          PREFIX dc: <http://purl.org/dc/elements/purl.org/>
          SELECT ?title
          WHERE { <http://example.org/book/book> dc:title ?title }



          PREFIX dc: <http://purl.org/dc/elements/1.1/>
          PREFIX : <http://example.org/book/>

          SELECT $title
          WHERE { :book1 dc:title $title }


          BASE <http://example.org/book/>
          PREFIX dc: <http://purl.org/dc/elements/1.1/>

          SELECT $title
          WHERE { <book1> dc:title $title }
Play #
                 kwangsub                                   email   ?


                                       :like
                       _person                     book:book_3

                             :name                          book:name

                                     kwangsub@en




           BASE <http://RDFTutorial.net/2009/>
           PREFIX book: <http://example.org/book/>
           SELECT ?book_name
           WHERE {
             ?person :like book:book_3.
             book:book_3 book:name ?book_name.
           }
Syntax - RDF Term Syntax
          Query Var
                 ?var or $var


          Blank
                 [ :p “v”]. == [] :p “v”.

          Unique Blank -           IRI

                 _b57 :p “v”. //


               [ foaf:name ?name ;
                            foaf:mbox <mailto:ss@c.com>] //


               _b11 foaf:name ?name               ;   S   PO   .
               _b11 foaf:mbox <mailto:ss@c.com>
Play .#
               foaf:name      kwangsub.kim                          name?


                              _a              :love    _b

                                                            :name
                           foaf:name

                                   kwangsub.kim             soomers



           PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
           PREFIX : <http://RDFTutorial.net/2009/>.
           SELECT $name
           WHERE {
             ?_a foaf:name “kwangsub.kim”.
             ?_a :love $_b.
             $_b <http://RDFTutorial.net/2009/name> $name.
           }
Syntax ; ,
          ;,
          ?people foaf:name ?name ;
                    foaf:mbox ?mbox .


                                                     ~

          ?people foaf:name ?name .
          ?people foaf:mbox ?mbox .




          ?people foaf:nick "Alice" , "Alice_" .

                                                     ~

          ?people foaf:nick "Alice" .
          ?people foaf:nick "Alice_" .
Play #
                   kwangsub               “           ”                          ?


                                              foaf:knows
                               _a                               _b
               foaf:nickname
                                      foaf:name
                                                           foaf:name

                                    kwangsub                           SangWon



           PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
           SELECT ?name
           WHERE {
             ?_a foaf:nickname “        ”;
                 foaf:name “kwangsub”.
             ?_a foaf:knows ?_b.
             ?_b foaf:name ?name.
           }
Pattern
          Basic Graph Pattern
          {?people foaf:name "kwangsub".}



          Group Graph Pattern
          {
              {?people foaf:name "kwangsub".}
              {?people foaf:email "kwangsub.kim@gmail.com".}
          } //

               Filter
          {
                 ?people foaf:name ?name.
                 FILTER regex (?name, “kw”)
          }
Pattern
          Optional Graph Pattern

               _:a   rdf:type    foaf:Person .
               _:a   foaf:name    "Alice" .
               _:a   foaf:mbox     <mailto:alice@example.com> .
               _:a   foaf:mbox     <mailto:alice@work.example> .

               _:b rdf:type      foaf:Person .
               _:b foaf:name      "Bob" .




               SELECT ?name ?mbox
               WHERE {
                     ?people foaf:name ?name .
                     OPTIONAL { ?people foaf:mbox ?mbox }
                   }
Pattern
          Optional Graph Pattern + FILTER
               SELECT ?people ?mbox
               WHERE {
                    ?people foaf:name ?name .
                     OPTIONAL { ?people foaf:mbox ?mbox .
                     FILTER regex(?mbox, “@gmail”)}
                   } //OPTIONAL



          Alternative Graph Pattern
               SELECT ?people ?mbox
               WHERE {
                    {?people foaf:name ?name .}
                    UNION
                    {?people naver:name ?name .}
                   }//UNON
                                                   {?people foaf:name ?name . ?people foaf:knows ?name}
                                                   UNION
                                                   {? people naver:name ?name. ?people naver:knows ?name}
Constraint
          String Value Constraint

               SELECT ?people, ?name
               WHERE {
                   ?people :name ?name
                    FILTER regex(?name, “^kwan”, “i”)
                   } //kwan


          Numeric Value Constraint

               SELECT ?people, ?age
               WHERE {
                   ?people :age ?age.
                     FILTER (?age > 30)
                   } //30
Play #
                      35                               35                 ?

                                          foaf:knows
                              _a                                _b
                   :age
                                     foaf:name               :age    foaf:name
                 36
                                   Dongbum              35           Haklae


          PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
          PREFIX : <http://RDFTutorial.net/2009/>.
          SELECT ?name
          WHERE {
            ?_a :age ?age.                       ?_a :age ?age.
            FILTER ( ?age >= 35 )                ?_a foaf:knows ?_b.
            ?_a foaf:knows ?_b.                  ?_b :age ?b_age;
            ?_b :age ?b_age;                          foaf:name ?name.
                 foaf:name ?name.                FILTER ( ?age >= 35 )
            FILTER ( ?b_age <= 35)               FILTER ( ?b_age <= 35)
          }
Solution Sequences and Modifiers

          Order
               SELECT ?people, ?name
               WHERE {
                 ?people :name ?name
               }
               ORDER BY ?name //       A-Z, DESC(?name)




               SELECT ?s ?p ?o
               WHERE {
                   ?s ?p ?o
               } //      SPO
               ORDER BY ?o // ???
Play #
                                                          ?

                                                                     _d
                                _b
               _a                                    _c
                                                                          :age
                                      :age
                    :age                                      :age
                                                                          45
                                     33
                    21                                        26




          PREFIX : <http://RDFTutorial.net/2009/>.
          SELECT ?user
          WHERE {
            ?user :age ?age.
          }
          ORDER BY ?age.
Solution Sequences and Modifiers
          Offset
                SELECT ?s ?p ?o
                WHERE {
                 ?s ?p ?o.
                }
                OFFSET 10 //11            solutions




          LIMIT
                SELECT ?s ?p ?o                       SELECT ?s ?p ?o
                WHERE {                               WHERE {
                 ?s ?p ?o.                             ?s ?p ?o.
                }                                     }
                LIMIT 10 //10 solutions               LIMIT 5
                                                      OFFSET 10 //
Play #
                                                 ,        2      ?

                                                                     _d
                                _b
               _a                                    _c
                                                                          :age
                                      :age
                    :age                                  :age
                                                                          45
                                      33
                    21                                    26




          PREFIX : <http://RDFTutorial.net/2009/>.
          SELECT ?user
          WHERE {
            ?user :age ?age.
          }
          ORDER BY ?age.
          LIMIT 2 .
Query Form

          ASK
          PREFIX foaf: <http://xmlns.com/foaf/0.1/>
          ASK {
           ?x foaf:name "Alice";
               :age ?age.
           FILTER ( ?age > 20)
          }



          DESCRIBE
          PREFIX ent: <http://org.example.com/employees#>
          DESCRIBE ?x
          WHERE { ?x ent:employeeId "1234" }
Simple Protocol ARQL
Simple Protocol & RDF Endpoint




                                       HTTP
                                       SOAP
                                         ...
                            Endpoint
Simple Protocol
                                                          * HTTP Binding
                                                          * SOAP Binding
     Request
GET /sparql/?query=EncodedQuery HTTP/1.1
Host: www.example
User-agent: my-sparql-client/0.1

                            Response
                             <sparql ...>
                              <head>
                               <variable name="x"/>
                               <variable name="mbox"/>
                              </head>
                                 <results>
                                  <result>
                                    <binding name="x">
                             	

     <bnode>r2</bnode>
                                    </binding>
                                    <binding name="mbox">
                             	

     <uri>mailto:bob@work.example.org</uri>
                                    </binding>
                                  </result>
                                 </results>
                             </sparql>

                                         * http://www.w3.org/TR/rdf-sparql-protocol/
Simple Protocol
                                                                  * HTTP Binding
Request                                                           * SOAP Binding
<?xml version="1.0" encoding="UTF-8"?>
  <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance">
    <soapenv:Body>
      <query-request xmlns="http://www.w3.org/2005/09/sparql-protocol-types/#">
        <query>SELECT ?z {?x ?y ?z . FILTER regex(?z, 'Harry')}</query>
      </query-request>
    </soapenv:Body>
  </soapenv:Envelope>
                                     Response
                                       <sparql ...>
                                         <head>
                                          <variable name="x"/>
                                          <variable name="mbox"/>
                                         </head>
                                         <results>
                                          <result>
                                            <binding name="x">
                                     	

     <bnode>r2</bnode>
                                            </binding>
                                            <binding name="mbox">
                                     	

     <uri>mailto:bob@work.example.org</uri>
                                            </binding>
                                          </result>
                                         </results>
                                     </sparql>
                                                 * http://www.w3.org/TR/rdf-sparql-protocol/
Here is a
                 Semantic Web?
SPARQL 1.1
SPARQL 1.1

                            Aggregate Functions
                                Subqueries
                                 Negation
                           Projection Expressions
                           Query Language Syntax
                              Property paths
                      Commonly used SPARQL functions
                           Basic federated query



               * WG                      ,             .
Aggregate functions


          Ex. COUNT, MAX, MIN, SUM, AVG
               SELECT COUNT(?person) AS ?alices
               WHERE {
                 ?person :name “Alice” .
               }




          Existing implementation.
          Garlik’s JXT, Dave Beckett’s Redland, ARQ, Open Anzo’s Glitter,Virtuoso, ARC


               Status. Required
Subqueries

          Ex.
               SELECT ?person ?name WHERE {
                 :Alice foaf:name ?person .
                 {
                    SELECT ?name WHERE {
                       ?person foaf:name ?name .
                    } LIMIT 1
                 }
               }




               Existing implementation.
               ARQ,Virtuoso


               Status. Required
Negation (1/2)

          Ex.
          ex) Identify the name of people who do not know anyone.
          SELECT ?name
          WHERE {
            ?x foaf:givenName ?name .
            OPTION { ?x foaf:knows ?who } .
            FILTER (!BOUND(?who))
            }




          Existing implementation.
          RDF::QUERY (unsaid keyword), SeRQL (MINUS keyword), ARQ (NOT EXIST keyword), SQL


          Status. Required
Negation (2/2)
          SeRQL (MINUS)
          SELECT x
            FROM {x} foaf:givenName {name}
          MINUS
          SELECT x
            FROM {x} foaf:givenName {name} ;
               foaf:knows {who}
          USING NAMESPACE foaf = <http://xmlns.com/foaf/0.1/>



          UNSAID
          PREFIX foaf: <http://xmlns.com/foaf/0.1/>
          SELECT ?x
          WHERE {
            ?x foaf:givenName ?name
            UNSAID { ?x foaf:knows ?who }
          }
Project Expressions

          Ex.
               SELECT ?name (?age > 18) AS over 18
               WHERE {
                 ?person :name ?name ;
                         :age ?age .
               }




           Existing implementation.
           Garlik’s JXT, Dave Beckett’s Redland, ARQ,Virtuoso, Open Anzo’s Glitter SPARQL
           Engine, XSPARQL

           Status. Required
Update
          Ex.
               INSERT DATA
               {
                 :book1 dc:title “new book”;
                        dc:creator “someone”.
               }

               DELETE { ?book ?p ?v }
               WHERE
               { ?book dc:date ?date .
                 FILTER ( ?date < “2001-01-01T00:00:00^^xsd:dateTime )
                 ?book ?p ?v.
               }

          Existing implementation.
          ARQ,Virtuoso
          Status. Required
                             Update with HTTP PUT, DELETE
          Existing implementation.
          Garlik’s JXT, IBM’s Jazz Foundation
Garlik’s JXT
                         Aggregate Functions                                              Dave Beckett’s Redland
                              Subqueries                                                           ARQ
                                                                                           Open Anzo’s Glitter
                               Negation                                                          Virtuoso
                        Projection Expressions                                                     ARC
                                                                                                  SeRQL
                          Service description                                                  RDF::Query
                            Update (REST)                                                          SQL
                                                                                                XSPARQL
                                                                                          IBM’s Jazz Foundation
                                Garlik’s JXT     Dave      ARQ   Open Anzo’s   Virtuoso    ARC   SeRQL RDF::Query   SQL   XSPARQL IBM’s Jazz
                                               Beckett’s           Glitter                                                        Foundation
                                               Redland
Aggregation           COUNT()        O            O         O        O            O         O

                      SUM()                                 O        O            O         O

                      AVG()          O                               O            O         O

                      MAX()                                          O            O         O

                      MIN()                                          O            O         O

Subqueries                                                                        O         O

Negation                                                    O                                      O        O        O

Project expressions                  O            O         O        O            O                                          O

Service description                  O                                            O                         O

UPDATE                                                      O                     O

Protocol                             O                                                                                                 O
Enhancements for
Update




                                                                      * WG                                      ,                              .
Links


     http://groups.google.com/group/semanticwebstudy?hl=ko
     http://delicious.com/kwangsub.kim/bundle:RDFTutorial2009

     SPARQL       (IBM DevWorks) :
     http://www.ibm.com/developerworks/kr/library/tutorial/x-sparql/


     SPARQL Working Group :
     http://www.w3.org/2009/sparql/wiki/Main_Page
.




               .
: http://lab.naver.com
                               : http://semantic.lab.naver.com
               NHN          TF
-



http://groups.google.com/group/semanticwebstudy?hl=ko

Contenu connexe

Tendances

Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and SemanticsTatiana Al-Chueyr
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsMustafa Jarrar
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLEmanuele Della Valle
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeAdriel Café
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQLOlaf Hartig
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
RDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesRDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesMarin Dimitrov
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod LacoulShamod Lacoul
 
Graph Data -- RDF and Property Graphs
Graph Data -- RDF and Property GraphsGraph Data -- RDF and Property Graphs
Graph Data -- RDF and Property Graphsandyseaborne
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itJose Luis Lopez Pino
 
The Gremlin in the Graph
The Gremlin in the GraphThe Gremlin in the Graph
The Gremlin in the GraphMarko Rodriguez
 
An Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataAn Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataOlaf Hartig
 

Tendances (20)

Ontologies in RDF-S/OWL
Ontologies in RDF-S/OWLOntologies in RDF-S/OWL
Ontologies in RDF-S/OWL
 
Linking the world with Python and Semantics
Linking the world with Python and SemanticsLinking the world with Python and Semantics
Linking the world with Python and Semantics
 
Jarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and SolutionsJarrar: RDF Stores -Challenges and Solutions
Jarrar: RDF Stores -Challenges and Solutions
 
SPARQL Cheat Sheet
SPARQL Cheat SheetSPARQL Cheat Sheet
SPARQL Cheat Sheet
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQL
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
SPARQL-DL - Theory & Practice
SPARQL-DL - Theory & PracticeSPARQL-DL - Theory & Practice
SPARQL-DL - Theory & Practice
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Querying Linked Data with SPARQL
Querying Linked Data with SPARQLQuerying Linked Data with SPARQL
Querying Linked Data with SPARQL
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
SWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQLSWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQL
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
RDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic RepositoriesRDF, SPARQL and Semantic Repositories
RDF, SPARQL and Semantic Repositories
 
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
"RDFa - what, why and how?" by Mike Hewett and Shamod Lacoul
 
Graph Data -- RDF and Property Graphs
Graph Data -- RDF and Property GraphsGraph Data -- RDF and Property Graphs
Graph Data -- RDF and Property Graphs
 
RDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use itRDFa: introduction, comparison with microdata and microformats and how to use it
RDFa: introduction, comparison with microdata and microformats and how to use it
 
The Gremlin in the Graph
The Gremlin in the GraphThe Gremlin in the Graph
The Gremlin in the Graph
 
An Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of DataAn Introduction to RDF and the Web of Data
An Introduction to RDF and the Web of Data
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 

En vedette

Publishing and Using Linked Data
Publishing and Using Linked DataPublishing and Using Linked Data
Publishing and Using Linked Dataostephens
 
Learning to assess Linked Data relationships using Genetic Programming
Learning to assess Linked Data relationships using Genetic ProgrammingLearning to assess Linked Data relationships using Genetic Programming
Learning to assess Linked Data relationships using Genetic ProgrammingVrije Universiteit Amsterdam
 
Linked Open Data Principles, benefits of LOD for sustainable development
Linked Open Data Principles, benefits of LOD for sustainable developmentLinked Open Data Principles, benefits of LOD for sustainable development
Linked Open Data Principles, benefits of LOD for sustainable developmentMartin Kaltenböck
 
Incremental Export of Relational Database Contents into RDF Graphs
Incremental Export of Relational Database Contents into RDF GraphsIncremental Export of Relational Database Contents into RDF Graphs
Incremental Export of Relational Database Contents into RDF GraphsNikolaos Konstantinou
 
An Approach for the Incremental Export of Relational Databases into RDF Graphs
An Approach for the Incremental Export of Relational Databases into RDF GraphsAn Approach for the Incremental Export of Relational Databases into RDF Graphs
An Approach for the Incremental Export of Relational Databases into RDF GraphsNikolaos Konstantinou
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Nikolaos Konstantinou
 
Materializing the Web of Linked Data
Materializing the Web of Linked DataMaterializing the Web of Linked Data
Materializing the Web of Linked DataNikolaos Konstantinou
 
Deploying Linked Open Data: Methodologies and Software Tools
Deploying Linked Open Data: Methodologies and Software ToolsDeploying Linked Open Data: Methodologies and Software Tools
Deploying Linked Open Data: Methodologies and Software ToolsNikolaos Konstantinou
 
Introduction: Linked Data and the Semantic Web
Introduction: Linked Data and the Semantic WebIntroduction: Linked Data and the Semantic Web
Introduction: Linked Data and the Semantic WebNikolaos Konstantinou
 
Linking KOS Data [using SKOS and OWL2]
Linking KOS Data [using SKOS and OWL2]Linking KOS Data [using SKOS and OWL2]
Linking KOS Data [using SKOS and OWL2]Marcia Zeng
 
Entity Linking in Queries: Tasks and Evaluation
Entity Linking in Queries: Tasks and EvaluationEntity Linking in Queries: Tasks and Evaluation
Entity Linking in Queries: Tasks and EvaluationFaegheh Hasibi
 
From Research to Innovation: Linked Open Data and Gamification to Design Inte...
From Research to Innovation: Linked Open Data and Gamification to Design Inte...From Research to Innovation: Linked Open Data and Gamification to Design Inte...
From Research to Innovation: Linked Open Data and Gamification to Design Inte...Ig Bittencourt
 
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...Stefan Dietze
 
Gathering Alternative Surface Forms for DBpedia Entities
Gathering Alternative Surface Forms for DBpedia EntitiesGathering Alternative Surface Forms for DBpedia Entities
Gathering Alternative Surface Forms for DBpedia EntitiesHeiko Paulheim
 

En vedette (20)

SPARQL 1.1 Status
SPARQL 1.1 StatusSPARQL 1.1 Status
SPARQL 1.1 Status
 
Publishing and Using Linked Data
Publishing and Using Linked DataPublishing and Using Linked Data
Publishing and Using Linked Data
 
Learning to assess Linked Data relationships using Genetic Programming
Learning to assess Linked Data relationships using Genetic ProgrammingLearning to assess Linked Data relationships using Genetic Programming
Learning to assess Linked Data relationships using Genetic Programming
 
Linked Open Data Principles, benefits of LOD for sustainable development
Linked Open Data Principles, benefits of LOD for sustainable developmentLinked Open Data Principles, benefits of LOD for sustainable development
Linked Open Data Principles, benefits of LOD for sustainable development
 
Incremental Export of Relational Database Contents into RDF Graphs
Incremental Export of Relational Database Contents into RDF GraphsIncremental Export of Relational Database Contents into RDF Graphs
Incremental Export of Relational Database Contents into RDF Graphs
 
An Approach for the Incremental Export of Relational Databases into RDF Graphs
An Approach for the Incremental Export of Relational Databases into RDF GraphsAn Approach for the Incremental Export of Relational Databases into RDF Graphs
An Approach for the Incremental Export of Relational Databases into RDF Graphs
 
Technical Background
Technical BackgroundTechnical Background
Technical Background
 
Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...Transient and persistent RDF views over relational databases in the context o...
Transient and persistent RDF views over relational databases in the context o...
 
Conclusions: Summary and Outlook
Conclusions: Summary and OutlookConclusions: Summary and Outlook
Conclusions: Summary and Outlook
 
Materializing the Web of Linked Data
Materializing the Web of Linked DataMaterializing the Web of Linked Data
Materializing the Web of Linked Data
 
Deploying Linked Open Data: Methodologies and Software Tools
Deploying Linked Open Data: Methodologies and Software ToolsDeploying Linked Open Data: Methodologies and Software Tools
Deploying Linked Open Data: Methodologies and Software Tools
 
Introduction: Linked Data and the Semantic Web
Introduction: Linked Data and the Semantic WebIntroduction: Linked Data and the Semantic Web
Introduction: Linked Data and the Semantic Web
 
Linking KOS Data [using SKOS and OWL2]
Linking KOS Data [using SKOS and OWL2]Linking KOS Data [using SKOS and OWL2]
Linking KOS Data [using SKOS and OWL2]
 
Publishing Linked Data from RDB
Publishing Linked Data from RDBPublishing Linked Data from RDB
Publishing Linked Data from RDB
 
Entity Linking in Queries: Tasks and Evaluation
Entity Linking in Queries: Tasks and EvaluationEntity Linking in Queries: Tasks and Evaluation
Entity Linking in Queries: Tasks and Evaluation
 
From Research to Innovation: Linked Open Data and Gamification to Design Inte...
From Research to Innovation: Linked Open Data and Gamification to Design Inte...From Research to Innovation: Linked Open Data and Gamification to Design Inte...
From Research to Innovation: Linked Open Data and Gamification to Design Inte...
 
Linked Data Fragments
Linked Data FragmentsLinked Data Fragments
Linked Data Fragments
 
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...
Open Education Challenge 2014: exploiting Linked Data in Educational Applicat...
 
Gathering Alternative Surface Forms for DBpedia Entities
Gathering Alternative Surface Forms for DBpedia EntitiesGathering Alternative Surface Forms for DBpedia Entities
Gathering Alternative Surface Forms for DBpedia Entities
 
NLP todo
NLP todoNLP todo
NLP todo
 

Similaire à RDF Tutorial - SPARQL 20091031

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
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLMyungjin Lee
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge queryStanley Wang
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Olaf Hartig
 
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 WebShamod Lacoul
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDFLeigh Dodds
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDFLeigh Dodds
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introductionGraphity
 
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.
 
Yokohama Art Spot meets SPARQL
Yokohama Art Spot meets SPARQLYokohama Art Spot meets SPARQL
Yokohama Art Spot meets SPARQLFuyuko Matsumura
 
03 form-data
03 form-data03 form-data
03 form-datasnopteck
 
SPARQLing Services
SPARQLing ServicesSPARQLing Services
SPARQLing ServicesLeigh Dodds
 
SHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalSHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalLuke McCarthy
 
SWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLSWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLMariano Rodriguez-Muro
 
Visualize open data with Plone - eea.daviz PLOG 2013
Visualize open data with Plone - eea.daviz PLOG 2013Visualize open data with Plone - eea.daviz PLOG 2013
Visualize open data with Plone - eea.daviz PLOG 2013Antonio De Marinis
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011Robert Engels
 
Sesam4 project presentation sparql - april 2011
Sesam4   project presentation sparql - april 2011Sesam4   project presentation sparql - april 2011
Sesam4 project presentation sparql - april 2011sesam4able
 
Linked data: spreading data over the web
Linked data: spreading data over the webLinked data: spreading data over the web
Linked data: spreading data over the webshellac
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphsdgarijo
 

Similaire à RDF Tutorial - SPARQL 20091031 (20)

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)
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
 
Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)Querying Linked Data with SPARQL (2010)
Querying Linked Data with SPARQL (2010)
 
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
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
 
Creating APIs over RDF
Creating APIs over RDFCreating APIs over RDF
Creating APIs over RDF
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
 
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
 
Yokohama Art Spot meets SPARQL
Yokohama Art Spot meets SPARQLYokohama Art Spot meets SPARQL
Yokohama Art Spot meets SPARQL
 
03 form-data
03 form-data03 form-data
03 form-data
 
SPARQLing Services
SPARQLing ServicesSPARQLing Services
SPARQLing Services
 
Sparql
SparqlSparql
Sparql
 
SHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's PersonalSHARE & the Semantic Web — This Time it's Personal
SHARE & the Semantic Web — This Time it's Personal
 
SWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQLSWT Lecture Session 4 - SW architectures and SPARQL
SWT Lecture Session 4 - SW architectures and SPARQL
 
Visualize open data with Plone - eea.daviz PLOG 2013
Visualize open data with Plone - eea.daviz PLOG 2013Visualize open data with Plone - eea.daviz PLOG 2013
Visualize open data with Plone - eea.daviz PLOG 2013
 
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
 
Linked data: spreading data over the web
Linked data: spreading data over the webLinked data: spreading data over the web
Linked data: spreading data over the web
 
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge GraphsOBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
OBA: An Ontology-Based Framework for Creating REST APIs for Knowledge Graphs
 

Dernier

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Dernier (20)

Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

RDF Tutorial - SPARQL 20091031

  • 1. SPARQL NHN kwangsub.kim@gmail.com RDF Tutorial 2009. 10. 31
  • 2. RDF ! SPARQL ! PLAY ! SPARQL 1.1 !
  • 3. http://delicious.com/kwangsub.kim/bundle:RDFTutorial2009 http://vocamp.org/wiki/VoCampSeoul2009#Slides http://delicious.com/kwangsub.kim/%23VoCampSeoul2009
  • 4. RDF Resource Description Framework ( ) ! ! Subject - Predicate - Object ! , (RSS) , (FOAF) ...
  • 5. Graph ? SPARQL <sparql ...> <head> <variable name="x"/> <variable name="mbox"/> </head> <results> <result> <binding name="x"> <bnode>r2</bnode> </binding> <binding name="mbox"> <uri>mailto:bob@work.example.org</uri> </binding> </result> </results> </sparql>
  • 6. 2008-07-16 ... *http://pingthesemanticweb.com
  • 7. 2008-11-04 ... *http://pingthesemanticweb.com
  • 8. 2009-01-08 ... *http://pingthesemanticweb.com
  • 9. 2008-07-16 2009-10-31 2008-11-04 2009-01-08 200% 200% 4,955,878 16,705,060 7,504,227 8,826,082 *http://pingthesemanticweb.com
  • 10. GRDDL SPARQL
  • 11. SPARQL Simple Protocol And RDF Query Language is a query language and a protocol for accessing RDF <sparql ...> Simple Protocol <head> <variable name="x"/> <variable name="mbox"/> </head> http://semantic.lab.naver.com/rdf/endpoint/sparql?select.... <results> <result> <binding name="x"> SELECT ?email <bnode>r2</bnode> WHERE { </binding> <binding name="mbox"> ?user :email ?email. <uri>mailto:bob@work.exampl ?user :name “ ”; </binding> & } </result> </results> </sparql> RDF Query Language Graph SPO (Subject, Predicate, Object) Query Language Pattern Match
  • 12. SPA RDF Query Language
  • 14. SQL vs. SPARQL Return Variables SELECT name SELECT ?name FROM users WHERE { WHERE contact=‘011-201-0000’; ?user rdf:type :User. ?user :name ?name. ?user :contact “011-201-0000”. SPO Pattern } FROM <http://semantic/users.rdf> Graph Source
  • 15. Graph > Query Language > Binding > Protocol rdf:type SELECT ?name _person foaf:Person WHERE { :contact ?user rdf:type foaf:Person. “011-201-0000” :name ?user :contact “011-201-0000”. ?user :name ?name. } <http://semantic/users.rdf> FROM <http://semantic/users.rdf> <sparql xmlns=”http://www.w3.org...”> <head> <variable name="name"/> </head> ?name = “ ” <results> <result> <binding name="name"> <literal> </literal> </binding> </result> </results> </sparql>
  • 16. SPARQL BASE <http://example.org/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX ex: <properties/1.0#> SELECT DISTINCT $person ?name $age FROM <http://rdf.example.org/personA.rdf> FROM <http://rdf.example.org/personB.rdf> WHERE { $person a foaf:Person ; foaf:name ?name. OPTIONAL { $person ex:age $age } . FILTER (!REGEX(?name, “Bob”)) } ORDER BY ASC(?name) LIMIT 10 OFFSET 20 * SPARQL RDF Query Language Reference v1.8 by Dave Beckett.
  • 17. Terms Sytax Pattern
  • 18. Terms IRI : URI reference within an RDF graph <http://www.w3.org> <http://semantic.naver.com/#Movie> <abc.rdf> //base URI foaf:name //prefix URI , PREFIX #x00 (X) //UNICODE Datatype IRI : datatype URI <http://www.w3.org/2001/XMLSchema#string> <http://www.w3.org/2001/XMLSchema#integer> Plain Literal : lexical form, optionally language tag, @ko “Semantic web” , “ ”@ko Typed Literal : lexical form, datatype URI “30”^^xsd:integer “kwangsub”^^http://www.w3.org/2001/XMLSchema#string Blank node : dummy node, node , _:a, _n06968595988
  • 19. Terms NameSpace :Vocabulary URI http://www.w3.org/1999/02/22-rdf-syntax-ns# http://purl.org/dc/elements/1.1/ http://xmlns.com/foaf/0.1/ Prefix : URI rdf, dc, foaf RDF Graph : A Set of RDF Triples RDF Triple : S-P-O Subject : IRI or Blank Node Predicate : IRI Object : IRI or Blank Node or Literal
  • 20. Terms Match : Graph SPO Query Pattern Match Solutions : Match ?x = “ ” Query Variable : Solutions ?x or $name
  • 21. Play # “ ” “email” ? :email _person kwangsub.kim@gmail.com :name SELECT ?email WHERE { ?person :email ?email. ?person :name “ ”; }
  • 22. Syntax - RDF Term Syntax Literals “Hi Korea” //”Hi Korea” “Hi Korea”@en // “Hi Korea”^^xsd:string // etc. integer, boolean 1 == “1”^^xsd:integer true == “true”^^xsd:boolean 1.3 == “1.3”^^xsd:decimal
  • 23. Play # kwangsub email ? :email _person kwangsub.kim@gmail.com :name kwangsub@en SELECT ?email WHERE { ?person :name “kwangsub”@en. ?person :email ?email. }
  • 24. Syntax - RDF Term Syntax IRI <http://example.org/book/book1> BASE <http://example.org/book/> <book1> PREFIX book: <http://example.org/book/> book:book1
  • 25. Syntax -Triple Pattern Syntax PREFIX, BASE PREFIX dc: <http://purl.org/dc/elements/purl.org/> SELECT ?title WHERE { <http://example.org/book/book> dc:title ?title } PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX : <http://example.org/book/> SELECT $title WHERE { :book1 dc:title $title } BASE <http://example.org/book/> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT $title WHERE { <book1> dc:title $title }
  • 26. Play # kwangsub email ? :like _person book:book_3 :name book:name kwangsub@en BASE <http://RDFTutorial.net/2009/> PREFIX book: <http://example.org/book/> SELECT ?book_name WHERE { ?person :like book:book_3. book:book_3 book:name ?book_name. }
  • 27. Syntax - RDF Term Syntax Query Var ?var or $var Blank [ :p “v”]. == [] :p “v”. Unique Blank - IRI _b57 :p “v”. // [ foaf:name ?name ; foaf:mbox <mailto:ss@c.com>] // _b11 foaf:name ?name ; S PO . _b11 foaf:mbox <mailto:ss@c.com>
  • 28. Play .# foaf:name kwangsub.kim name? _a :love _b :name foaf:name kwangsub.kim soomers PREFIX foaf: <http://xmlns.com/foaf/0.1/>. PREFIX : <http://RDFTutorial.net/2009/>. SELECT $name WHERE { ?_a foaf:name “kwangsub.kim”. ?_a :love $_b. $_b <http://RDFTutorial.net/2009/name> $name. }
  • 29. Syntax ; , ;, ?people foaf:name ?name ; foaf:mbox ?mbox . ~ ?people foaf:name ?name . ?people foaf:mbox ?mbox . ?people foaf:nick "Alice" , "Alice_" . ~ ?people foaf:nick "Alice" . ?people foaf:nick "Alice_" .
  • 30. Play # kwangsub “ ” ? foaf:knows _a _b foaf:nickname foaf:name foaf:name kwangsub SangWon PREFIX foaf: <http://xmlns.com/foaf/0.1/>. SELECT ?name WHERE { ?_a foaf:nickname “ ”; foaf:name “kwangsub”. ?_a foaf:knows ?_b. ?_b foaf:name ?name. }
  • 31. Pattern Basic Graph Pattern {?people foaf:name "kwangsub".} Group Graph Pattern { {?people foaf:name "kwangsub".} {?people foaf:email "kwangsub.kim@gmail.com".} } // Filter { ?people foaf:name ?name. FILTER regex (?name, “kw”) }
  • 32. Pattern Optional Graph Pattern _:a rdf:type foaf:Person . _:a foaf:name "Alice" . _:a foaf:mbox <mailto:alice@example.com> . _:a foaf:mbox <mailto:alice@work.example> . _:b rdf:type foaf:Person . _:b foaf:name "Bob" . SELECT ?name ?mbox WHERE { ?people foaf:name ?name . OPTIONAL { ?people foaf:mbox ?mbox } }
  • 33. Pattern Optional Graph Pattern + FILTER SELECT ?people ?mbox WHERE { ?people foaf:name ?name . OPTIONAL { ?people foaf:mbox ?mbox . FILTER regex(?mbox, “@gmail”)} } //OPTIONAL Alternative Graph Pattern SELECT ?people ?mbox WHERE { {?people foaf:name ?name .} UNION {?people naver:name ?name .} }//UNON {?people foaf:name ?name . ?people foaf:knows ?name} UNION {? people naver:name ?name. ?people naver:knows ?name}
  • 34. Constraint String Value Constraint SELECT ?people, ?name WHERE { ?people :name ?name FILTER regex(?name, “^kwan”, “i”) } //kwan Numeric Value Constraint SELECT ?people, ?age WHERE { ?people :age ?age. FILTER (?age > 30) } //30
  • 35. Play # 35 35 ? foaf:knows _a _b :age foaf:name :age foaf:name 36 Dongbum 35 Haklae PREFIX foaf: <http://xmlns.com/foaf/0.1/>. PREFIX : <http://RDFTutorial.net/2009/>. SELECT ?name WHERE { ?_a :age ?age. ?_a :age ?age. FILTER ( ?age >= 35 ) ?_a foaf:knows ?_b. ?_a foaf:knows ?_b. ?_b :age ?b_age; ?_b :age ?b_age; foaf:name ?name. foaf:name ?name. FILTER ( ?age >= 35 ) FILTER ( ?b_age <= 35) FILTER ( ?b_age <= 35) }
  • 36. Solution Sequences and Modifiers Order SELECT ?people, ?name WHERE { ?people :name ?name } ORDER BY ?name // A-Z, DESC(?name) SELECT ?s ?p ?o WHERE { ?s ?p ?o } // SPO ORDER BY ?o // ???
  • 37. Play # ? _d _b _a _c :age :age :age :age 45 33 21 26 PREFIX : <http://RDFTutorial.net/2009/>. SELECT ?user WHERE { ?user :age ?age. } ORDER BY ?age.
  • 38. Solution Sequences and Modifiers Offset SELECT ?s ?p ?o WHERE { ?s ?p ?o. } OFFSET 10 //11 solutions LIMIT SELECT ?s ?p ?o SELECT ?s ?p ?o WHERE { WHERE { ?s ?p ?o. ?s ?p ?o. } } LIMIT 10 //10 solutions LIMIT 5 OFFSET 10 //
  • 39. Play # , 2 ? _d _b _a _c :age :age :age :age 45 33 21 26 PREFIX : <http://RDFTutorial.net/2009/>. SELECT ?user WHERE { ?user :age ?age. } ORDER BY ?age. LIMIT 2 .
  • 40. Query Form ASK PREFIX foaf: <http://xmlns.com/foaf/0.1/> ASK { ?x foaf:name "Alice"; :age ?age. FILTER ( ?age > 20) } DESCRIBE PREFIX ent: <http://org.example.com/employees#> DESCRIBE ?x WHERE { ?x ent:employeeId "1234" }
  • 42. Simple Protocol & RDF Endpoint HTTP SOAP ... Endpoint
  • 43. Simple Protocol * HTTP Binding * SOAP Binding Request GET /sparql/?query=EncodedQuery HTTP/1.1 Host: www.example User-agent: my-sparql-client/0.1 Response <sparql ...> <head> <variable name="x"/> <variable name="mbox"/> </head> <results> <result> <binding name="x"> <bnode>r2</bnode> </binding> <binding name="mbox"> <uri>mailto:bob@work.example.org</uri> </binding> </result> </results> </sparql> * http://www.w3.org/TR/rdf-sparql-protocol/
  • 44. Simple Protocol * HTTP Binding Request * SOAP Binding <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> <soapenv:Body> <query-request xmlns="http://www.w3.org/2005/09/sparql-protocol-types/#"> <query>SELECT ?z {?x ?y ?z . FILTER regex(?z, 'Harry')}</query> </query-request> </soapenv:Body> </soapenv:Envelope> Response <sparql ...> <head> <variable name="x"/> <variable name="mbox"/> </head> <results> <result> <binding name="x"> <bnode>r2</bnode> </binding> <binding name="mbox"> <uri>mailto:bob@work.example.org</uri> </binding> </result> </results> </sparql> * http://www.w3.org/TR/rdf-sparql-protocol/
  • 45. Here is a Semantic Web?
  • 47. SPARQL 1.1 Aggregate Functions Subqueries Negation Projection Expressions Query Language Syntax Property paths Commonly used SPARQL functions Basic federated query * WG , .
  • 48. Aggregate functions Ex. COUNT, MAX, MIN, SUM, AVG SELECT COUNT(?person) AS ?alices WHERE { ?person :name “Alice” . } Existing implementation. Garlik’s JXT, Dave Beckett’s Redland, ARQ, Open Anzo’s Glitter,Virtuoso, ARC Status. Required
  • 49. Subqueries Ex. SELECT ?person ?name WHERE { :Alice foaf:name ?person . { SELECT ?name WHERE { ?person foaf:name ?name . } LIMIT 1 } } Existing implementation. ARQ,Virtuoso Status. Required
  • 50. Negation (1/2) Ex. ex) Identify the name of people who do not know anyone. SELECT ?name WHERE { ?x foaf:givenName ?name . OPTION { ?x foaf:knows ?who } . FILTER (!BOUND(?who)) } Existing implementation. RDF::QUERY (unsaid keyword), SeRQL (MINUS keyword), ARQ (NOT EXIST keyword), SQL Status. Required
  • 51. Negation (2/2) SeRQL (MINUS) SELECT x FROM {x} foaf:givenName {name} MINUS SELECT x FROM {x} foaf:givenName {name} ; foaf:knows {who} USING NAMESPACE foaf = <http://xmlns.com/foaf/0.1/> UNSAID PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?x WHERE { ?x foaf:givenName ?name UNSAID { ?x foaf:knows ?who } }
  • 52. Project Expressions Ex. SELECT ?name (?age > 18) AS over 18 WHERE { ?person :name ?name ; :age ?age . } Existing implementation. Garlik’s JXT, Dave Beckett’s Redland, ARQ,Virtuoso, Open Anzo’s Glitter SPARQL Engine, XSPARQL Status. Required
  • 53. Update Ex. INSERT DATA { :book1 dc:title “new book”; dc:creator “someone”. } DELETE { ?book ?p ?v } WHERE { ?book dc:date ?date . FILTER ( ?date < “2001-01-01T00:00:00^^xsd:dateTime ) ?book ?p ?v. } Existing implementation. ARQ,Virtuoso Status. Required Update with HTTP PUT, DELETE Existing implementation. Garlik’s JXT, IBM’s Jazz Foundation
  • 54. Garlik’s JXT Aggregate Functions Dave Beckett’s Redland Subqueries ARQ Open Anzo’s Glitter Negation Virtuoso Projection Expressions ARC SeRQL Service description RDF::Query Update (REST) SQL XSPARQL IBM’s Jazz Foundation Garlik’s JXT Dave ARQ Open Anzo’s Virtuoso ARC SeRQL RDF::Query SQL XSPARQL IBM’s Jazz Beckett’s Glitter Foundation Redland Aggregation COUNT() O O O O O O SUM() O O O O AVG() O O O O MAX() O O O MIN() O O O Subqueries O O Negation O O O O Project expressions O O O O O O Service description O O O UPDATE O O Protocol O O Enhancements for Update * WG , .
  • 55. Links http://groups.google.com/group/semanticwebstudy?hl=ko http://delicious.com/kwangsub.kim/bundle:RDFTutorial2009 SPARQL (IBM DevWorks) : http://www.ibm.com/developerworks/kr/library/tutorial/x-sparql/ SPARQL Working Group : http://www.w3.org/2009/sparql/wiki/Main_Page
  • 56. . .
  • 57. : http://lab.naver.com : http://semantic.lab.naver.com NHN TF
  • 58.