(Go: >> BACK << -|- >> HOME <<)

SlideShare a Scribd company logo
Web 3.0
                                                      SPARQL / XML Query

Presenter Um Dae jin (mrumx@naver.com)
Internet Technology
Graduate school of information & Telecommunications in KONKUK University
Agenda

Introduction
RDF & SPARQL
SPAR Query Language
Get the Knowledge
  Term | Syntax | Pattern | Constraint
Simple protocol
SPARQL 1.1
Introduction
RDF, SPARQL
RDF(Resource Description Framework)



    Resource Description Framework
  어떤것을 기술하기 위한 구조(틀)일 뿐!!!

 Resource : URI를 갖는 모든것(웹페이지,이미지,동영상 등)

 Description : Resource들의 속성, 특성, 관계 기술

 Framework : 위의 것들을 기술하기 위한 모델, 언어, 문법
RDF(Resource Description Framework)

     Subject     Predicate       Object



    주어               술어             목적어
(Resource) (Property, Relation) (Resource, Literal)

URI                   URI              URI
Blank Node                             Literal

       This is the Framework!!!
RDF(Resource Description Framework)

 우리는 그 틀에 맞취 어떤것들을 기술만 할뿐~!!!



          웹상에서 표현될 수 있는 개념들

블로그(Blog), 온라인 매체(RSS), 사람, 친구(FOAF) …etc ~!!!
PingtheSemanticWeb.com is a repository for RDF documents.                      http://pingthesemanticweb.com/




            RDF(Resource Description Framework)
                   These namespaces are used to describe entities in X number of documents




                                                  2009.11.23




           2008.7.16                              2008.11.04                         2009.1.8
Picture
           Music
                                                  Person

                                                        Dictionary
        Region

                                               SPARQL
GRDDL(Gleaning Resource Descriptions from Dialects of Languages)
SPARQL
Simple Protocol And
          RDF Query Language
Simple Protocol
http://semantic.lab.konkuk.ac.kr/rdf/endpoint/sparql?select …
                                                   RDF
                                                   <sparql …>
SELECT ?email                                       <head>
                                                     <variable name=“x”/>
WHERE {                                              <variable name=“mbox”/>
                                                    </head>
  ?user :email ?email.
  ?user :name “umdaejin”;                          <results>
                                                    <result>
}                                                    <binding name=“x”>
                                                       <bnode> r2</bnode>
                                                     </binding>
                                                     <binding name=“mbox”>
                                                       <uri>mailto:bob@work.example.com</uri>
                                                      </binding>
                                                     </result>
&                                                   <results>
                                                   </sparql>




RDF Query Language
RDF Query language is the pattern matched SPO(Subject, Predicate, Object) in Graph
SPARQL is
    Query Language and
a protocol for accessing RDF
SPA RDF Query Language
Query Language
SQL vs. SPARQL
SELECT name
FROM users
WHERE contact=„010-3333-7777‟;

SELECT ?name            Return Variables
WHERE {
?user rdf:type :User.
?user :name ?name.                       SPO Pattern
?user :contact “010-3333-7777”.
}
FROM <http://semantic/users.rdf>            Graph Source
Graph > Query Language > Binding > Protocol

               rdf:type                     SELECT ?name
_person                       foaf:Person
                                            WHERE {
                                            ?user rdf:type :foaf:Person.
                 :contact
                                            ?user :contact “010-3333-7777”.
      :name            “010-3333-7777”
                                            ?user :name ?name.
                                            }
                                            FROM <http://semantic/users.rdf>
          “umdaejin”                        RDF
                                            <sparql xmlns=“http://www.w3.org…”>
                                             <head>
                                              <variable name=“name”/>
                                            </head>

                                            <results>
    ?name = “umdaejin”                       <result>
                                              <binding name=“name”>
                                               <literal> umdaejin</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.
Get the Knowledge




TERMS         Syntax        Pattern
Terms
IRI : URI reference within an RDF graph
    <http://www.w3.org>
    <http://semantic.konkuk.ac.kr/#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
    “daejin”^^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 : URI, Qname, Blank Node, Literal, Variable
    Predicate : URI, Qname, Blank node, Variable
    Object : URI, Qname, Blank node, Literal, Variable
Terms
Match
  : Graph내 SPO가 Query Pattern에 Match되는 상황

Solutions : Match되어 반환된 결과들
   ?x = “엄대진”

Query Variable : Solutions을 바인딩하기 위한 변수
  ?x or $name
Play#
          “umdaejin”이란 사람의 “email”은?



               :email
_person                 mrumx@naver.com




      :name
                                      SELECT ?email
                                      WHERE {
                                      ?person :email ?email.
          “umdaejin”
                                      ?person :name “umdaejin”;
                                      }
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 #
 umdaejin의 영문이름을 가진 사람의 email은?




               :email
_person                 mrumx@naver.com




      :name


                              SELECT ?email
          umdaejin@en
                              WHERE {
                              ?person :name “umdaejin”@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 #
daejin의 영문이름을 가진 사람의 책제목은?
                  :like
    _person                  Book:book_3



                  :name                    book:name


              “daejin@en”                    “ANT”




        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이 umdaejin사람이 사랑하는 사람 name?

                     :love
        _a                      _b



foaf:name                                name


        “umdaejin”                       “sunyoung”




    PREFIX foaf: <http://xmlns.com/foaf/0.1/>.
    PREFIX : <http://RDFTutorial.net/2009/>.
    SELECT $name
    WHERE {
        ?_a foaf:name “umdaejin”.
        ?_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 #
이름이 umdaejin이고 별명이 “무름스”인 사람이 아는 사람의 이름?


                            foaf:knows
                _a                            _b


foaf:nickname        foaf:name                        foaf:name


“무름스”                    “umdaejin”                “SangWon”




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

Group Graph Pattern
{
    {?people foaf:name “umdaejin".}
    {?people foaf:email “umdaejin@gmail.com".}
} //두 패턴이 모두 만족해야

Filter
{
    ?people foaf:name ?name.
    FILTER regex (?name, “um”)
}
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
                                       {?people foaf:name ?name . ?people foaf:knows ?name}
   WHERE {                             UNION
       {?people foaf:name ?name .}     {? people naver:name ?name. ?people naver:knows ?name}
       UNION
       {?people naver:name ?name .}
   }//UNON대상 여러가 추가 가능
Constraint
String Value Constraint
    SELECT ?people, ?name
    WHERE {
        ?people :name ?name
        FILTER regex(?name, “^um”, “i”)
    } //이름이 um으로 시작하는 사람


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             “SangWon”

     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 #
                       나이순으로 정렬?

_a              _b                _c               _d


     :age            :age              :age             :age


        21              33                26               45




             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 5
   LIMIT 10 //10개 solutions 반환        OFFSET 10 //함께 사용 가능
Play #
             나이순으로 정렬후, 결과 2개?
_a              _b               _c                _d


     :age            :age             :age              :age


        21              33               26                45




             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
Request
GET /sparql/?query=EncodedQuery HTTP/1.1                                          * HTTP Binding
Host: www.example                                                                 * SOAP Binding
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
Request
<?xml version="1.0" encoding="UTF-8"?>
     <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/"                  * HTTP Binding
     xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/
     XMLSchema-instance">                                                                        * SOAP Binding
      <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/
Semantic Web(Web 3.0) SPARQL
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
Aggregate Functions           Garlik‟s JXT
      Subqueries         Dave Beckett‟s Redland
       Negation                    ARQ
Projection Expressions     Open Anzo‟s Glitter
  Service description            Virtuoso
    Update (REST)                  ARC
                                  SeRQL
                               RDF::Query
                                   SQL
                                 XSPARQL
                          IBM‟s Jazz Foundation




                              * 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
Thanks

More Related Content

What's hot

"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
Shamod Lacoul
 
Rdf
RdfRdf
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFS
Nilesh Wagmare
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
Bernhard Haslhofer
 
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
Jose Luis Lopez Pino
 
Data in RDF
Data in RDFData in RDF
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
andyseaborne
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
Jose Emilio Labra Gayo
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
Ivan Herman
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Diego López-de-Ipiña González-de-Artaza
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
Fabien Gandon
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
Mariano Rodriguez-Muro
 
Ontologies in RDF-S/OWL
Ontologies in RDF-S/OWLOntologies in RDF-S/OWL
Ontologies in RDF-S/OWL
Emanuele Della Valle
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
Emanuele Della Valle
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF data
Fuming Shih
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
Rinke Hoekstra
 
Name That Graph !
Name That Graph !Name That Graph !
Name That Graph !
Fabien Gandon
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
Narni Rajesh
 
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
Olaf Hartig
 
SWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQLSWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQL
Mariano Rodriguez-Muro
 

What's hot (20)

"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
 
Rdf
RdfRdf
Rdf
 
Introduction To RDF and RDFS
Introduction To RDF and RDFSIntroduction To RDF and RDFS
Introduction To RDF and RDFS
 
Linked (Open) Data
Linked (Open) DataLinked (Open) Data
Linked (Open) Data
 
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
 
Data in RDF
Data in RDFData in RDF
Data in RDF
 
Two graph data models : RDF and Property Graphs
Two graph data models : RDF and Property GraphsTwo graph data models : RDF and Property Graphs
Two graph data models : RDF and Property Graphs
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
RDFa Tutorial
RDFa TutorialRDFa Tutorial
RDFa Tutorial
 
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
Hacia la Internet del Futuro: Web Semántica y Open Linked Data, Parte 2
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked DataAn introduction to Semantic Web and Linked Data
An introduction to Semantic Web and Linked Data
 
SWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDFSWT Lecture Session 2 - RDF
SWT Lecture Session 2 - RDF
 
Ontologies in RDF-S/OWL
Ontologies in RDF-S/OWLOntologies in RDF-S/OWL
Ontologies in RDF-S/OWL
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Saveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF dataSaveface - Save your Facebook content as RDF data
Saveface - Save your Facebook content as RDF data
 
SemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n BoltsSemanticWeb Nuts 'n Bolts
SemanticWeb Nuts 'n Bolts
 
Name That Graph !
Name That Graph !Name That Graph !
Name That Graph !
 
Introduction to RDF
Introduction to RDFIntroduction to RDF
Introduction to RDF
 
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
 
SWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQLSWT Lecture Session 3 - SPARQL
SWT Lecture Session 3 - SPARQL
 

Viewers also liked

Sap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymesSap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymes
Oreka IT
 
2015 Meet taiipei大會手冊
2015 Meet taiipei大會手冊2015 Meet taiipei大會手冊
2015 Meet taiipei大會手冊
Flosa Chen
 
Ti 38f52b9
Ti 38f52b9Ti 38f52b9
Ti 38f52b9
rsliders
 
Acxiom - email mobile rendering and why it matters
Acxiom - email mobile rendering and why it matters Acxiom - email mobile rendering and why it matters
Acxiom - email mobile rendering and why it matters
Acxiom Corporation
 
Evangelist Journey 2015
Evangelist Journey 2015Evangelist Journey 2015
Evangelist Journey 2015
智治 長沢
 
Honor Code of the Prepa Tec Group 61, Mundialista.
Honor Code of the Prepa Tec Group 61, Mundialista. Honor Code of the Prepa Tec Group 61, Mundialista.
Honor Code of the Prepa Tec Group 61, Mundialista.
Richard Huett
 
Streaming Topic Maps API
Streaming Topic Maps APIStreaming Topic Maps API
Streaming Topic Maps API
tmra
 
SDL Campaign Management & Rich Media
SDL Campaign Management & Rich MediaSDL Campaign Management & Rich Media
SDL Campaign Management & Rich Media
wmaagdenberg
 
The traveling card
The traveling cardThe traveling card
The traveling card
D. Andronova
 
Онлайн видео - медийно-эффективная альтернатива ТВ
Онлайн видео - медийно-эффективная альтернатива ТВОнлайн видео - медийно-эффективная альтернатива ТВ
Онлайн видео - медийно-эффективная альтернатива ТВ
i-Guru digital agency
 
Primavera saa s
Primavera saa sPrimavera saa s
Primavera saa s
EuroCloud
 
Ag - Chem 847 rogator liquid system
Ag - Chem 847 rogator liquid systemAg - Chem 847 rogator liquid system
Ag - Chem 847 rogator liquid system
PartCatalogs Net
 
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemicoAnemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
anemo_site
 
Work meetings
Work meetingsWork meetings
Work meetings
D. Andronova
 
Мультимедийный проект ид«букъвица»
Мультимедийный проект ид«букъвица»Мультимедийный проект ид«букъвица»
Мультимедийный проект ид«букъвица»
ГО "Інститут розвитку регіональної преси"
 
速度——敏捷开发的丹田之气(2011敏捷中国大会)
速度——敏捷开发的丹田之气(2011敏捷中国大会)速度——敏捷开发的丹田之气(2011敏捷中国大会)
速度——敏捷开发的丹田之气(2011敏捷中国大会)
Yi Xu
 
5 ideas for baby shower gifts
5 ideas for baby shower gifts5 ideas for baby shower gifts
5 ideas for baby shower gifts
Anthony Adcox
 

Viewers also liked (20)

Presentatie henk van den berg
Presentatie henk van den bergPresentatie henk van den berg
Presentatie henk van den berg
 
Sap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymesSap erp-best-practices-para-pymes
Sap erp-best-practices-para-pymes
 
2015 Meet taiipei大會手冊
2015 Meet taiipei大會手冊2015 Meet taiipei大會手冊
2015 Meet taiipei大會手冊
 
Ti 38f52b9
Ti 38f52b9Ti 38f52b9
Ti 38f52b9
 
Acxiom - email mobile rendering and why it matters
Acxiom - email mobile rendering and why it matters Acxiom - email mobile rendering and why it matters
Acxiom - email mobile rendering and why it matters
 
Evangelist Journey 2015
Evangelist Journey 2015Evangelist Journey 2015
Evangelist Journey 2015
 
Honor Code of the Prepa Tec Group 61, Mundialista.
Honor Code of the Prepa Tec Group 61, Mundialista. Honor Code of the Prepa Tec Group 61, Mundialista.
Honor Code of the Prepa Tec Group 61, Mundialista.
 
Streaming Topic Maps API
Streaming Topic Maps APIStreaming Topic Maps API
Streaming Topic Maps API
 
SDL Campaign Management & Rich Media
SDL Campaign Management & Rich MediaSDL Campaign Management & Rich Media
SDL Campaign Management & Rich Media
 
The traveling card
The traveling cardThe traveling card
The traveling card
 
эстетика з.о. 2012
эстетика з.о. 2012эстетика з.о. 2012
эстетика з.о. 2012
 
Онлайн видео - медийно-эффективная альтернатива ТВ
Онлайн видео - медийно-эффективная альтернатива ТВОнлайн видео - медийно-эффективная альтернатива ТВ
Онлайн видео - медийно-эффективная альтернатива ТВ
 
Primavera saa s
Primavera saa sPrimavera saa s
Primavera saa s
 
Ag - Chem 847 rogator liquid system
Ag - Chem 847 rogator liquid systemAg - Chem 847 rogator liquid system
Ag - Chem 847 rogator liquid system
 
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemicoAnemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
Anemo 2015-27-Astuto- Preparazione preoperatoria di un bambino anemico
 
OSS and R&D
OSS and R&DOSS and R&D
OSS and R&D
 
Work meetings
Work meetingsWork meetings
Work meetings
 
Мультимедийный проект ид«букъвица»
Мультимедийный проект ид«букъвица»Мультимедийный проект ид«букъвица»
Мультимедийный проект ид«букъвица»
 
速度——敏捷开发的丹田之气(2011敏捷中国大会)
速度——敏捷开发的丹田之气(2011敏捷中国大会)速度——敏捷开发的丹田之气(2011敏捷中国大会)
速度——敏捷开发的丹田之气(2011敏捷中国大会)
 
5 ideas for baby shower gifts
5 ideas for baby shower gifts5 ideas for baby shower gifts
5 ideas for baby shower gifts
 

Similar to Semantic Web(Web 3.0) SPARQL

2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
Josef Petrák
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorial
AdonisDamian
 
Sparql
SparqlSparql
Sparql
Tamrat Amare
 
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
Shamod Lacoul
 
The Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQLThe Semantic Web #10 - SPARQL
The Semantic Web #10 - SPARQL
Myungjin Lee
 
Sparql a simple knowledge query
Sparql  a simple knowledge querySparql  a simple knowledge query
Sparql a simple knowledge query
Stanley Wang
 
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
Dr.-Ing. Thomas Hartmann
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFa
Ivan Herman
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)
Thomas Francart
 
XSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshopXSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshop
nunoalexandrelopes
 
Semantic Web introduction
Semantic Web introductionSemantic Web introduction
Semantic Web introduction
Graphity
 
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
Marakana Inc.
 
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)dataSUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
Diego Valerio Camarda
 
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
shellac
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)
Myungjin Lee
 
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
 
XSPARQL Tutorial
XSPARQL TutorialXSPARQL Tutorial
XSPARQL Tutorial
net2-project
 
Sparql
SparqlSparql
Bio it 2005_rdf_workshop05
Bio it 2005_rdf_workshop05Bio it 2005_rdf_workshop05
Bio it 2005_rdf_workshop05
Joanne Luciano
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQL
Emanuele Della Valle
 

Similar to Semantic Web(Web 3.0) SPARQL (20)

2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
2011 4IZ440 Semantic Web – RDF, SPARQL, and software APIs
 
Semantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorialSemantic web meetup – sparql tutorial
Semantic web meetup – sparql tutorial
 
Sparql
SparqlSparql
Sparql
 
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
 
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
 
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
2016.02 - Validating RDF Data Quality using Constraints to Direct the Develop...
 
Introduction to RDFa
Introduction to RDFaIntroduction to RDFa
Introduction to RDFa
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)
 
XSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshopXSPARQL CrEDIBLE workshop
XSPARQL CrEDIBLE workshop
 
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
 
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)dataSUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
SUMMER SCHOOL LEX 2014 - RDF + SPARQL querying the web of (lex)data
 
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
 
The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)The Semantic Web #9 - Web Ontology Language (OWL)
The Semantic Web #9 - Web Ontology Language (OWL)
 
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)
 
XSPARQL Tutorial
XSPARQL TutorialXSPARQL Tutorial
XSPARQL Tutorial
 
Sparql
SparqlSparql
Sparql
 
Bio it 2005_rdf_workshop05
Bio it 2005_rdf_workshop05Bio it 2005_rdf_workshop05
Bio it 2005_rdf_workshop05
 
Querying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQLQuerying the Semantic Web with SPARQL
Querying the Semantic Web with SPARQL
 

More from Daniel D.J. UM

Socialplatform opportunities&threats-허진호
Socialplatform opportunities&threats-허진호Socialplatform opportunities&threats-허진호
Socialplatform opportunities&threats-허진호
Daniel D.J. UM
 
Social Commerce Part 3(KAIST)
Social Commerce Part 3(KAIST)Social Commerce Part 3(KAIST)
Social Commerce Part 3(KAIST)
Daniel D.J. UM
 
Social Media Part 2(KAIST)
Social Media Part 2(KAIST)Social Media Part 2(KAIST)
Social Media Part 2(KAIST)
Daniel D.J. UM
 
Social Computing Part 1(KAIST)
Social Computing Part 1(KAIST)Social Computing Part 1(KAIST)
Social Computing Part 1(KAIST)
Daniel D.J. UM
 
FBML
FBMLFBML
Object Parameters Ws Yjj
Object Parameters Ws YjjObject Parameters Ws Yjj
Object Parameters Ws Yjj
Daniel D.J. UM
 

More from Daniel D.J. UM (6)

Socialplatform opportunities&threats-허진호
Socialplatform opportunities&threats-허진호Socialplatform opportunities&threats-허진호
Socialplatform opportunities&threats-허진호
 
Social Commerce Part 3(KAIST)
Social Commerce Part 3(KAIST)Social Commerce Part 3(KAIST)
Social Commerce Part 3(KAIST)
 
Social Media Part 2(KAIST)
Social Media Part 2(KAIST)Social Media Part 2(KAIST)
Social Media Part 2(KAIST)
 
Social Computing Part 1(KAIST)
Social Computing Part 1(KAIST)Social Computing Part 1(KAIST)
Social Computing Part 1(KAIST)
 
FBML
FBMLFBML
FBML
 
Object Parameters Ws Yjj
Object Parameters Ws YjjObject Parameters Ws Yjj
Object Parameters Ws Yjj
 

Recently uploaded

How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
SynapseIndia
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
BookNet Canada
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
The Digital Insurer
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
apoorva2579
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
ScyllaDB
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
ScyllaDB
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
SeasiaInfotech2
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
Alpen-Adria-Universität
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
Linda Zhang
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
Emerging Tech
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
anupriti
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
anupriti
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
crioux1
 

Recently uploaded (20)

How RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptxHow RPA Help in the Transportation and Logistics Industry.pptx
How RPA Help in the Transportation and Logistics Industry.pptx
 
Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...Transcript: Details of description part II: Describing images in practice - T...
Transcript: Details of description part II: Describing images in practice - T...
 
K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024K2G - Insurtech Innovation EMEA Award 2024
K2G - Insurtech Innovation EMEA Award 2024
 
AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)AC Atlassian Coimbatore Session Slides( 22/06/2024)
AC Atlassian Coimbatore Session Slides( 22/06/2024)
 
Performance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy EvertsPerformance Budgets for the Real World by Tammy Everts
Performance Budgets for the Real World by Tammy Everts
 
Interaction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance MetricInteraction Latency: Square's User-Centric Mobile Performance Metric
Interaction Latency: Square's User-Centric Mobile Performance Metric
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
What's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdfWhat's Next Web Development Trends to Watch.pdf
What's Next Web Development Trends to Watch.pdf
 
HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)HTTP Adaptive Streaming – Quo Vadis (2024)
HTTP Adaptive Streaming – Quo Vadis (2024)
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & SolutionsMYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
MYIR Product Brochure - A Global Provider of Embedded SOMs & Solutions
 
Implementations of Fused Deposition Modeling in real world
Implementations of Fused Deposition Modeling  in real worldImplementations of Fused Deposition Modeling  in real world
Implementations of Fused Deposition Modeling in real world
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Blockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre timesBlockchain and Cyber Defense Strategies in new genre times
Blockchain and Cyber Defense Strategies in new genre times
 
Data Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber SecurityData Protection in a Connected World: Sovereignty and Cyber Security
Data Protection in a Connected World: Sovereignty and Cyber Security
 
Lessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien RiouxLessons Of Binary Analysis - Christien Rioux
Lessons Of Binary Analysis - Christien Rioux
 

Semantic Web(Web 3.0) SPARQL

  • 1. Web 3.0 SPARQL / XML Query Presenter Um Dae jin (mrumx@naver.com) Internet Technology Graduate school of information & Telecommunications in KONKUK University
  • 2. Agenda Introduction RDF & SPARQL SPAR Query Language Get the Knowledge Term | Syntax | Pattern | Constraint Simple protocol SPARQL 1.1
  • 5. RDF(Resource Description Framework) Resource Description Framework 어떤것을 기술하기 위한 구조(틀)일 뿐!!!  Resource : URI를 갖는 모든것(웹페이지,이미지,동영상 등)  Description : Resource들의 속성, 특성, 관계 기술  Framework : 위의 것들을 기술하기 위한 모델, 언어, 문법
  • 6. RDF(Resource Description Framework) Subject Predicate Object 주어 술어 목적어 (Resource) (Property, Relation) (Resource, Literal) URI URI URI Blank Node Literal This is the Framework!!!
  • 7. RDF(Resource Description Framework) 우리는 그 틀에 맞취 어떤것들을 기술만 할뿐~!!! 웹상에서 표현될 수 있는 개념들 블로그(Blog), 온라인 매체(RSS), 사람, 친구(FOAF) …etc ~!!!
  • 8. PingtheSemanticWeb.com is a repository for RDF documents. http://pingthesemanticweb.com/ RDF(Resource Description Framework) These namespaces are used to describe entities in X number of documents 2009.11.23 2008.7.16 2008.11.04 2009.1.8
  • 9. Picture Music Person Dictionary Region SPARQL GRDDL(Gleaning Resource Descriptions from Dialects of Languages)
  • 10. SPARQL Simple Protocol And RDF Query Language
  • 11. Simple Protocol http://semantic.lab.konkuk.ac.kr/rdf/endpoint/sparql?select … RDF <sparql …> SELECT ?email <head> <variable name=“x”/> WHERE { <variable name=“mbox”/> </head> ?user :email ?email. ?user :name “umdaejin”; <results> <result> } <binding name=“x”> <bnode> r2</bnode> </binding> <binding name=“mbox”> <uri>mailto:bob@work.example.com</uri> </binding> </result> & <results> </sparql> RDF Query Language RDF Query language is the pattern matched SPO(Subject, Predicate, Object) in Graph
  • 12. SPARQL is Query Language and a protocol for accessing RDF
  • 13. SPA RDF Query Language
  • 15. SQL vs. SPARQL SELECT name FROM users WHERE contact=„010-3333-7777‟; SELECT ?name Return Variables WHERE { ?user rdf:type :User. ?user :name ?name. SPO Pattern ?user :contact “010-3333-7777”. } FROM <http://semantic/users.rdf> Graph Source
  • 16. Graph > Query Language > Binding > Protocol rdf:type SELECT ?name _person foaf:Person WHERE { ?user rdf:type :foaf:Person. :contact ?user :contact “010-3333-7777”. :name “010-3333-7777” ?user :name ?name. } FROM <http://semantic/users.rdf> “umdaejin” RDF <sparql xmlns=“http://www.w3.org…”> <head> <variable name=“name”/> </head> <results> ?name = “umdaejin” <result> <binding name=“name”> <literal> umdaejin</literal> </binding> </result> <results> </sparql>
  • 17. 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.
  • 18. Get the Knowledge TERMS Syntax Pattern
  • 19. Terms IRI : URI reference within an RDF graph <http://www.w3.org> <http://semantic.konkuk.ac.kr/#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 “daejin”^^http://www.w3.org/2001/XMLSchema#string Blank node : dummy node, node들간의 연결표현용, 무작위생성 _:a, _n06968595988
  • 20. 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 : URI, Qname, Blank Node, Literal, Variable Predicate : URI, Qname, Blank node, Variable Object : URI, Qname, Blank node, Literal, Variable
  • 21. Terms Match : Graph내 SPO가 Query Pattern에 Match되는 상황 Solutions : Match되어 반환된 결과들 ?x = “엄대진” Query Variable : Solutions을 바인딩하기 위한 변수 ?x or $name
  • 22. Play# “umdaejin”이란 사람의 “email”은? :email _person mrumx@naver.com :name SELECT ?email WHERE { ?person :email ?email. “umdaejin” ?person :name “umdaejin”; }
  • 23. 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
  • 24. Play # umdaejin의 영문이름을 가진 사람의 email은? :email _person mrumx@naver.com :name SELECT ?email umdaejin@en WHERE { ?person :name “umdaejin”@en. ?person :email ?email. }
  • 25. Syntax - RDF Term Syntax IRI <http://example.org/book/book1> BASE <http://example.org/book/> <book1> PREFIX book: <http://example.org/book/> book:book1
  • 26. 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 }
  • 27. Play # daejin의 영문이름을 가진 사람의 책제목은? :like _person Book:book_3 :name book:name “daejin@en” “ANT” 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. }
  • 28. 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>
  • 29. Play # foaf:name이 umdaejin사람이 사랑하는 사람 name? :love _a _b foaf:name name “umdaejin” “sunyoung” PREFIX foaf: <http://xmlns.com/foaf/0.1/>. PREFIX : <http://RDFTutorial.net/2009/>. SELECT $name WHERE { ?_a foaf:name “umdaejin”. ?_a :love $_b. $_b <http://RDFTutorial.net/2009/name> $name. }
  • 30. 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_" .
  • 31. Play # 이름이 umdaejin이고 별명이 “무름스”인 사람이 아는 사람의 이름? foaf:knows _a _b foaf:nickname foaf:name foaf:name “무름스” “umdaejin” “SangWon” PREFIX foaf: <http://xmlns.com/foaf/0.1/>. SELECT ?name WHERE { ?_a foaf:nickname “무름스”; foaf:name “umdaejin”. ?_a foaf:knows ?_b. ?_b foaf:name ?name. }
  • 32. Pattern Basic Graph Pattern {?people foaf:name “umdaejin".} Group Graph Pattern { {?people foaf:name “umdaejin".} {?people foaf:email “umdaejin@gmail.com".} } //두 패턴이 모두 만족해야 Filter { ?people foaf:name ?name. FILTER regex (?name, “um”) }
  • 33. 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 } }
  • 34. 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 {?people foaf:name ?name . ?people foaf:knows ?name} WHERE { UNION {?people foaf:name ?name .} {? people naver:name ?name. ?people naver:knows ?name} UNION {?people naver:name ?name .} }//UNON대상 여러가 추가 가능
  • 35. Constraint String Value Constraint SELECT ?people, ?name WHERE { ?people :name ?name FILTER regex(?name, “^um”, “i”) } //이름이 um으로 시작하는 사람 Numeric Value Constraint SELECT ?people, ?age WHERE { ?people :age ?age. FILTER (?age > 30) } //나이가 30 이상인 사람
  • 36. Play # 나이 35세 이상인 사람이 아는 35세 이하의 사람? foaf:knows _a _b :age foaf:name :age foaf:name 36 Dongbum 35 “SangWon” 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) }
  • 37. 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
  • 38. Play # 나이순으로 정렬? _a _b _c _d :age :age :age :age 21 33 26 45 PREFIX : <http://RDFTutorial.net/2009/>. SELECT ?user WHERE { ?user :age ?age. } ORDER BY ?age.
  • 39. 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 5 LIMIT 10 //10개 solutions 반환 OFFSET 10 //함께 사용 가능
  • 40. Play # 나이순으로 정렬후, 결과 2개? _a _b _c _d :age :age :age :age 21 33 26 45 PREFIX : <http://RDFTutorial.net/2009/>. SELECT ?user WHERE { ?user :age ?age. } ORDER BY ?age. LIMIT 2 .
  • 41. 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" }
  • 43. Simple Protocol & RDF Endpoint 사람들 HTTP SOAP ... Endpoint 우리팀 너네팀 옆팀
  • 44. Simple Protocol Request GET /sparql/?query=EncodedQuery HTTP/1.1 * HTTP Binding Host: www.example * SOAP Binding 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/
  • 45. Simple Protocol Request <?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope/" * HTTP Binding xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/ XMLSchema-instance"> * SOAP Binding <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/
  • 48. SPARQL 1.1 Aggregate Functions Subqueries Negation Projection Expressions Query Language Syntax Property paths Commonly used SPARQL functions Basic federated query * WG에서 스팩 조정중이며, 변경될 수 있습니다.
  • 49. 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
  • 50. 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
  • 51. 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
  • 52. 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 } }
  • 53. 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
  • 54. 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
  • 55. Aggregate Functions Garlik‟s JXT Subqueries Dave Beckett‟s Redland Negation ARQ Projection Expressions Open Anzo‟s Glitter Service description Virtuoso Update (REST) ARC SeRQL RDF::Query SQL XSPARQL IBM‟s Jazz Foundation * WG에서 스팩 조정중이며, 변경될 수 있습니다.
  • 56. 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