VoCamp Seoul2009 Sparql
-
Upload
kwangsub-kim -
Category
Technology
-
view
650 -
download
0
description
Transcript of VoCamp Seoul2009 Sparql
![Page 2: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/2.jpg)
RDF
SPARQL
Play
2009년 5월 29일 금요일
![Page 3: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/3.jpg)
RDF
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
2009년 5월 29일 금요일
![Page 4: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/4.jpg)
RDF
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
2009년 5월 29일 금요일
![Page 5: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/5.jpg)
RDF
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
2009년 5월 29일 금요일
![Page 6: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/6.jpg)
RDF
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
나 - 발표하다 - SPARQL
2009년 5월 29일 금요일
![Page 7: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/7.jpg)
RDF
웹상에서 표현되는 개념들
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
나 - 발표하다 - SPARQL
2009년 5월 29일 금요일
![Page 8: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/8.jpg)
RDF
웹상에서 표현되는 개념들
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
블로그, 온라인매체 (RSS)
사람, 친구 (FOAF)
나 - 발표하다 - SPARQL
2009년 5월 29일 금요일
![Page 9: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/9.jpg)
RDF
웹상에서 표현되는 개념들
어떤것(Thing)에 대한 개념, 추상하기 위한 데이터 모델
Subject - Predicate - Object
블로그, 온라인매체 (RSS)
사람, 친구 (FOAF)
나 - 발표하다 - SPARQL
!"#$%&
Semantic Web
Kwangsub
2009. 05. 29
'(')*
+,-./'*
/,'0"1
2009년 5월 29일 금요일
![Page 10: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/10.jpg)
SPARQLSPARQL
Simple Protocol And RDF Query Language
Pattern Match
SPO (Subject, Predicate, Object)
2009년 5월 29일 금요일
![Page 11: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/11.jpg)
SPARQL
Graph (Subject, Predicate, Object)안에
매치된 SPO들을 찾기 위한 Query Language
SPARQL
Simple Protocol And RDF Query Language
Pattern Match
SPO (Subject, Predicate, Object)
2009년 5월 29일 금요일
![Page 12: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/12.jpg)
_:a !"#$%&'
2009년 5월 29일 금요일
![Page 13: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/13.jpg)
_:a !"#$%&'
_:a - name - ?x
2009년 5월 29일 금요일
![Page 14: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/14.jpg)
_:a !"#$%&'
_:a - name - ?x
2009년 5월 29일 금요일
![Page 15: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/15.jpg)
_:a !"#$%&'
_:a - name - ?x
SELECT ?x WHERE{?a name ?x .
}
2009년 5월 29일 금요일
![Page 16: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/16.jpg)
_:a !"#$%&'
_:a - name - ?x
?x = “김광섭”
SELECT ?x WHERE{?a name ?x .
}
2009년 5월 29일 금요일
![Page 17: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/17.jpg)
Homework!"#$%"
&'(
)#*+,-./-01,0+-%.2#0
*+0"
"0+-%
&34
/5+*,)67./-01,0+-%.2#0
*+0"
"0+-%
89$"
89$"
/*#5) +::;"))
<=>?
+::;"))
@#2+8-#*
&AB
)#*+,-./-01,0+-%.2#0
*+0"
CD
/*#5)
E"0+*8-2!F"7
+::;")) *+0"
89$"
89$"
89$" *+0"
-*8";")8
-*8";")8
GHIH
JJH
+,"
+,"
+,""0+-%
2009년 5월 29일 금요일
![Page 18: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/18.jpg)
BASE <http://example.org/> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX foaf: <http://xmlns.com/foaf/0.1/> # This is a relative IRI to BASE above 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 Example
* SPARQL RDF Query Language Reference v1.8 by Dave Beckett.
2009년 5월 29일 금요일
![Page 19: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/19.jpg)
2009년 5월 29일 금요일
![Page 20: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/20.jpg)
Terms
Sytax
Pattern
2009년 5월 29일 금요일
![Page 21: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/21.jpg)
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>
2009년 5월 29일 금요일
![Page 22: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/22.jpg)
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
Terms
Blank node : dummy node, node들간의 연결표현용, 무작위생성
_:a, _n06968595988
2009년 5월 29일 금요일
![Page 23: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/23.jpg)
NameSpace : Vocabulary가 있는 URIhttp://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
Terms
2009년 5월 29일 금요일
![Page 24: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/24.jpg)
Terms
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
2009년 5월 29일 금요일
![Page 25: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/25.jpg)
Match : Graph내 SPO가 Query Pattern에 Match되는 상황
Terms
Solutions : Match되어 반환된 결과들
Query Variable : Solutions을 바인딩하기 위한 변수
?x = “김광섭”
_:a !"#$%&'
_:a - name - ?x
?x or $name
2009년 5월 29일 금요일
![Page 26: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/26.jpg)
Match : Graph내 SPO가 Query Pattern에 Match되는 상황
Terms
Solutions : Match되어 반환된 결과들
Query Variable : Solutions을 바인딩하기 위한 변수
?x = “김광섭”
_:a !"#$%&'
_:a - name - ?x
?x or $name
2009년 5월 29일 금요일
![Page 27: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/27.jpg)
Simple Query
2009년 5월 29일 금요일
![Page 28: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/28.jpg)
Simple Query
SELECT ?x WHERE{?a name ?x .
}
2009년 5월 29일 금요일
![Page 29: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/29.jpg)
Syntax - RDF Term Syntax
IRI
<http://example.org/book/book1>
BASE <http://example.org/book/><book1>
PREFIX book: <http://example.org/book/>book:book1
2009년 5월 29일 금요일
![Page 30: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/30.jpg)
Literals
“VoCampSeoul”
“VoCampSeoul”@en
“VoCampSeoul”^^xsd:string
1 == “1”^^xsd:integer
true == “true”^^xsd:boolean
1.3 == “1.3”^^xsd:decimal
Syntax - RDF Term Syntax
2009년 5월 29일 금요일
![Page 31: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/31.jpg)
Query Var
?var or $var
Syntax - RDF Term Syntax
Blank
[ :p “v”]. == [] :p “v”.
_b57 :p “v”. //기본예
Unique Blank - 다른 IRI과 연결용
[ foaf:name ?name ; foaf:mbox <mailto:[email protected]>]
_b11 foaf:name ?name_b11 foaf:mbox <mailto:[email protected]>
//확장예
;은 S에 PO를 연속해서 붙일 수 있다.
,는 SP에 O를 연속해서 붙일 수 있다.
2009년 5월 29일 금요일
![Page 32: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/32.jpg)
PREFIX, BASE
PREFIX dc: <http://purl.org/dc/elements/1purl.org.1/>SELECT ?titleWHERE { <http://example.org/book/book1> dc:title ?title }
Syntax -Triple Pattern Syntax
PREFIX dc: <http://purl.org/dc/elements/1.1/>PREFIX : <http://example.org/book/>
SELECT $titleWHERE { :book1 dc:title $title }
BASE <http://example.org/book/>PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT $titleWHERE { <book1> dc:title ?title }
2009년 5월 29일 금요일
![Page 33: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/33.jpg)
; ,
?people foaf:name ?name ; foaf:mbox ?mbox .
Syntax ; ,
?people foaf:name ?name .?people foaf:mbox ?mbox .
==
?people foaf:nick "Alice" , "Alice_" .
?people foaf:nick "Alice" . ?people foaf:nick "Alice_" .
==
2009년 5월 29일 금요일
![Page 34: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/34.jpg)
Basic Graph Pattern
Pattern
Group Graph Pattern
{?people foaf:name "kwangsub".}
{{?people foaf:name "kwangsub".}{?people foaf:email "[email protected]".}
} //두 패턴이 모두 만족해야
{?people foaf:name ?name.FILTER regex (?name, “kw”)
}
Filter
2009년 5월 29일 금요일
![Page 35: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/35.jpg)
Pattern
Optional Graph Pattern
_:a rdf:type foaf:Person ._:a foaf:name "Alice" ._:a foaf:mbox <mailto:[email protected]> ._:a foaf:mbox <mailto:[email protected]> .
_:b rdf:type foaf:Person ._:b foaf:name "Bob" .
SELECT ?name ?mboxWHERE {
?people foaf:name ?name . OPTIONAL { ?people foaf:mbox ?mbox } }
2009년 5월 29일 금요일
![Page 36: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/36.jpg)
Pattern
Optional Graph Pattern + FILTER
SELECT ?people ?mboxWHERE {
?people foaf:name ?name . OPTIONAL { ?people foaf:mbox ?mbox . FILTER regex(?mbox, “@gmail”)} } //OPTIONAL을 여러개 추가 가능
Alternative Graph Pattern
SELECT ?people ?mboxWHERE {
{?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}
2009년 5월 29일 금요일
![Page 37: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/37.jpg)
String Value Constraint
Constraint
Numeric Value Constraint
SELECT ?people, ?nameWHERE {
?people :name ?name FILTER regex(?name, “^kwan”, “i”) } //kwan으로 시작하는 사람
SELECT ?people, ?ageWHERE {
?people :age ?age. FILTER (?age > 30) } //30 이상인 사람
2009년 5월 29일 금요일
![Page 38: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/38.jpg)
Order
Solution Sequences and Modifiers
SELECT ?s ?p ?oWHERE {
?s ?p ?o } //모든 SPO반환ORDER BY ?o // ???
SELECT ?people, ?nameWHERE {
?people :name ?name}ORDER BY ?name //기본 오름차순 A-Z, DESC(?name)
1. unbound2. blank3. uri4. datatype
우선순위 (asc경우)
2009년 5월 29일 금요일
![Page 39: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/39.jpg)
Projection
Solution Sequences and Modifiers
SELECT ?sWHERE {
?s ?p ?o } //하나의 칼럼 var로 반환
Distinct
SELECT DISTINCT ?interestWHERE { ?people :interest ?interest. } //중복제거
2009년 5월 29일 금요일
![Page 40: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/40.jpg)
Offset
Solution Sequences and Modifiers
SELECT ?s ?p ?oWHERE { ?s ?p ?o.}OFFSET 10 //11번째 부터 solutions 반환
LIMIT
SELECT ?s ?p ?oWHERE { ?s ?p ?o.}LIMIT 10 //10개 solutions 반환
SELECT ?s ?p ?oWHERE { ?s ?p ?o.}LIMIT 5OFFSET 10 //함께 사용 가능
2009년 5월 29일 금요일
![Page 41: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/41.jpg)
SELECT
Query Form
SELECT ?s ?p ?oWHERE { ?s ?p ?o.}
CONSTRUCT //데이터를 입맛에 맞게 조합
CONSTRUCT { ?x vcard:N _:v . _:v vcard:givenName ?gname . _:v vcard:familyName ?fname }WHERE { { ?x foaf:firstname ?gname } UNION { ?x foaf:givenname ?gname } . { ?x foaf:surname ?fname } UNION { ?x foaf:family_name ?fname } . }
2009년 5월 29일 금요일
![Page 42: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/42.jpg)
ASK
Query Form
PREFIX foaf: <http://xmlns.com/foaf/0.1/>ASK { ?x foaf:name "Alice" }
DESCRIBE
DESCRIBE <http://example.org/>
2009년 5월 29일 금요일
![Page 43: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/43.jpg)
2009년 5월 29일 금요일
![Page 44: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/44.jpg)
Let’s Play!"#$%"
&'(
)#*+,-./-01,0+-%.2#0
*+0"
"0+-%
&34
/5+*,)67./-01,0+-%.2#0
*+0"
"0+-%
89$"
89$"
/*#5) +::;"))
<=>?
+::;"))
@#2+8-#*
&AB
)#*+,-./-01,0+-%.2#0
*+0"
CD
/*#5)
E"0+*8-2!F"7
+::;")) *+0"
89$"
89$"
89$" *+0"
-*8";")8
-*8";")8
GHIH
JJH
+,"
+,"
+,""0+-%
2009년 5월 29일 금요일
![Page 45: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/45.jpg)
Homeworks
- [email protected] 메일을 사용하는 사람들?- kwangsub과 동일한 관심을 같은 사람들?- 나이가 50이하인 사람들?- 같은 동네에 사는 사람들?
- "@gmai.com"을 사용하는 사람들 FILTER(?mail, "@gmail.com");- 20세 이하의 사람들의 관심 주제는?
- kwangsub이 아는 사람중에 대전에 사는 사람?
2009년 5월 29일 금요일
![Page 46: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/46.jpg)
링크http://delicious.com/kwangsub.kim/%23VoCampSeoul2009
http://groups.google.com/group/semanticwebstudy?hl=ko
2009년 5월 29일 금요일
![Page 47: VoCamp Seoul2009 Sparql](https://reader034.fdocuments.in/reader034/viewer/2022042816/5588faf8d8b42a2c1a8b4575/html5/thumbnails/47.jpg)
감사합니다.
2009년 5월 29일 금요일