"SPARQL Tutorial"의 두 판 사이의 차이

hiblue
이동: 둘러보기, 검색
(사용예시)
(Optional)
 
(같은 사용자의 중간 판 26개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==RDF Triplestore==
+
==RDF Triplestore와 LOD(Linked Open Data) 서비스==
RDF triplestore는 W3C에서 정의한 시맨틱 정보를 저장하는 그래프 데이터베이스의 형태 중 하나이다. 온톨로지라는 스키마 모델을 이용하며, 개체와 관계간의 계층 구조를 보여줄 수도 있다.
 
데이터와 아래와 같이 각 개체와 개체관의 관계를 보여주는, 3형식(Triple, Statement)으로 저장되기 때문에 Triple Store라 불린다.
 
 
 
 
  주어(Subject) --서술어(Predicate/Verb)--> 목적어(Object)
 
  주어(Subject) --서술어(Predicate/Verb)--> 목적어(Object)
 +
::웹 상의 시맨틱 정보를 저장하는 그래프 데이터베이스의 형태로, 스키마 모델 - 온톨로지를 이용한다.
 +
::LOD는  RDF의 형식으로 이루어진, 누구나 사용할 수 있도록 공개된 데이터베이스를 제공하는 서비스를 말한다.
  
==LOD(Linked Open Data)==
+
==온톨로지==
*W3C에서 명시한 방법으로 구조화된, 서로 연결된, 웹(Web)상의 데이터로 RDF triple 형식을 이용한다.
+
*Data Propery : 특정 값으로 표현되는 속성
*개체(노드)의 ID으로 URL를 사용
+
*Object Propery : 특정 개체로 연결되는 속성
**<small>클래스 정의용 관계어 : rdf:type / rdfs:subClassOf</small>
+
*rdfs:label / rdf:type
**<small>개체 네이밍 관계어 : rdfs:label </small>
 
  
==Data Protery / Object Property==
 
*Data Propery : 특정 값으로 표현되는 속성 ex) Label
 
*Object Propery : 특정 개체로 연결되는 속성 -> ex) Creator
 
 
==RDF 표현형식==
 
==RDF 표현형식==
 
*Turtle  
 
*Turtle  
  ekc:조선_세종 dc:creator ekc:훈민정음
+
<pre>
<nowiki><http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong> rdfs:label "조선 세종"@kor</nowiki>
+
@base <http://example.org/> .
*RDF/XML 
+
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
<nowiki><ekc:joseon_Sejong rdfs:about="http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong"/> <dc:creator rdf:resource="http://dh.aks.ac.kr/Encyves/resource/hunminjeongeum"/></nowiki></span>
+
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<nowiki><ekc:joseon_Sejong rdfs:about="http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong"> <rdfs:label xml:lang="kor">조선 세종</rdfs:label></ekc:joseon_Sejong></nowiki>
+
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
*N-Triples
+
@prefix rel: <http://www.perceive.net/schemas/relationship/> .
<nowiki><http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://purl.org/dc/terms/title> "N-Triples"@en-US .</nowiki>
 
<nowiki><http://example.org/show/218> <http://www.w3.org/2000/01/rdf-schema#label> "That Seventies Show"^^<http://www.w3.org/2001/XMLSchema#string></nowiki>
 
<nowiki><http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin></nowiki>
 
  
 +
<#green-goblin>
 +
    rel:enemyOf <#spiderman> ;
 +
    a foaf:Person ;
 +
    foaf:name "Green Goblin" .
 +
 +
</pre>
 +
*[http://dh.aks.ac.kr:8890/sparql?default-graph-uri=&query=PREFIX+ekc%3A+%3Chttp%3A%2F%2Fdh.aks.ac.kr%2Fontologies%2Fekc%23%3E%0D%0APREFIX+ekci%3A+%3Chttp%3A%2F%2Fdh.aks.ac.kr%2Firi%2Fekc%23%3E%0D%0APREFIX+owl%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0D%0APREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0APREFIX+xml%3A+%3Chttp%3A%2F%2Fwww.w3.org%2FXML%2F1998%2Fnamespace%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%23%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%23%3E%0D%0APREFIX+edm%3A+%3Chttp%3A%2F%2Fwww.europeana.eu%2Fschemas%2Fedm%23%3E%0D%0A%0D%0Aselect+ekci%3A%EC%A1%B0%EC%84%A0_%EC%84%B8%EC%A2%85+%3Frel+%3FB+where%7B+ekci%3A%EC%A1%B0%EC%84%A0_%EC%84%B8%EC%A2%85+%3Frel+%3FB%7D&should-sponge=&format=text%2Fplain&timeout=0&debug=on N-Triples]
 +
*[http://dh.aks.ac.kr/~hiblue/sparql.xml RDF/XML]
 +
*[http://dh.aks.ac.kr:8890/sparql?default-graph-uri=&query=PREFIX+ekc%3A+%3Chttp%3A%2F%2Fdh.aks.ac.kr%2Fontologies%2Fekc%23%3E%0D%0APREFIX+ekci%3A+%3Chttp%3A%2F%2Fdh.aks.ac.kr%2Firi%2Fekc%23%3E%0D%0APREFIX+owl%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2002%2F07%2Fowl%23%3E%0D%0APREFIX+rdf%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F1999%2F02%2F22-rdf-syntax-ns%23%3E%0D%0APREFIX+xsd%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23%3E%0D%0APREFIX+xml%3A+%3Chttp%3A%2F%2Fwww.w3.org%2FXML%2F1998%2Fnamespace%3E%0D%0APREFIX+rdfs%3A+%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0D%0APREFIX+dcterms%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Fterms%23%3E%0D%0APREFIX+foaf%3A+%3Chttp%3A%2F%2Fxmlns.com%2Ffoaf%2F0.1%2F%3E+%0D%0APREFIX+dc%3A+%3Chttp%3A%2F%2Fpurl.org%2Fdc%2Felements%2F1.1%23%3E%0D%0APREFIX+edm%3A+%3Chttp%3A%2F%2Fwww.europeana.eu%2Fschemas%2Fedm%23%3E%0D%0A%0D%0Aselect+ekci%3A%EC%A1%B0%EC%84%A0_%EC%84%B8%EC%A2%85+%3Frel+%3FB+where%7B+ekci%3A%EC%A1%B0%EC%84%A0_%EC%84%B8%EC%A2%85+%3Frel+%3FB%7D&should-sponge=&format=text%2Fhtml&timeout=0&debug=on HTML]
 
==SPARQL==
 
==SPARQL==
 
===Prefix===
 
===Prefix===
데이터들이 어떤 층위에 속해 있는지를 지정해놓는 공간. 이름이 같은 데이터라도 층위에 따라 다른 의미를 가질 수 있다.  
+
<pre>
*<span style="color:DarkCyan">DC : Dublin Core, 서지정보 메타데이터[http://www.dublincore.org/]</span>
+
PREFIX ekc: <http://dh.aks.ac.kr/ontologies/ekc#>
*<span style="color:DarkCyan">FOAF : Friend of A Friend, 현대 사람들의 관계 기술 [http://xmlns.com/foaf/spec/]</span>
+
PREFIX ekci: <http://dh.aks.ac.kr/iri/ekc#>
*<span style="color:DarkCyan">BIBO : Bibliographic Ontology, 책이나 잡지 등의 서지정보  [http://bibliontology.com/]</span>
+
PREFIX owl: <http://www.w3.org/2002/07/owl#>
*<span style="color:DarkCyan">SKOS : Simple Knowledge Organization System, 지식 어휘 체계*시소러스 [https://www.w3.org/2004/02/skos/]</span>
+
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
*<span style="color:DarkCyan">EDM : Europeana Data Model, 유로피아나(유럽 박물관/미술관 통합 아카이브) [https://pro.europeana.eu/files/Europeana_Professional/Share_your_data/Technical_requirements/EDM_Documentation//EDM_Definition_v5.2.8_102017.pdf]</span>
+
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
*<span style="color:DarkCyan">RDFS : Resource Description Framework,  RDF 구조를 표현하기 위한 지식표현 모델(클래스, 속성 정의)[https://en.wikipedia.org/wiki/RDF_Schema]</span>
+
PREFIX xml: <http://www.w3.org/XML/1998/namespace>
 +
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
 +
PREFIX dcterms: <http://purl.org/dc/terms#>
 +
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
 +
PREFIX dc: <http://purl.org/dc/elements/1.1#>
 +
PREFIX edm: <http://www.europeana.eu/schemas/edm#>
 +
</pre>
  
 
===기본형태===
 
===기본형태===
  SELECT ?A(변수), ?B(변수)
+
  SELECT ?A(변수) ?B(변수)
 
  WHERE
 
  WHERE
  { ?A(변수) Prefix:relation ?B(변수)
+
  { ?A(변수) Prefix:relation ?B(변수) .
 
  }
 
  }
 
*'''?''' : 변수의 앞에 붙임.(변수임을 표시)
 
*'''?''' : 변수의 앞에 붙임.(변수임을 표시)
 
*''';''' : 특정 변수에 조건을 추가할 때 (and)
 
*''';''' : 특정 변수에 조건을 추가할 때 (and)
 
*'''.''' : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할 때(end)
 
*'''.''' : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할 때(end)
*'''&&''' : and
 
*'''||''' : or
 
 
*'''#''' : comment (주석)
 
*'''#''' : comment (주석)
  
59번째 줄: 64번째 줄:
 
===Optional===
 
===Optional===
 
*추가사항, Where 대괄호 안에 넣어 검색할 개체를 보여주되, 특정 속성을 가진 경우 그 특정 속성을 보여줌  
 
*추가사항, Where 대괄호 안에 넣어 검색할 개체를 보여주되, 특정 속성을 가진 경우 그 특정 속성을 보여줌  
  WHERE { OPTIONAL( ?A prefix:title_ZH ?title_ZH)}
+
  WHERE { OPTIONAL { ?A prefix:title_ZH ?title_Z}}
 
*filer와 함께 사용 가능 : <span style="color:darkcyan">OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }</span>
 
*filer와 함께 사용 가능 : <span style="color:darkcyan">OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }</span>
 +
 
===UNION===
 
===UNION===
 
*합집합, 값을 나란한 열이 아닌, 여러 행으로 보여줌
 
*합집합, 값을 나란한 열이 아닌, 여러 행으로 보여줌
77번째 줄: 83번째 줄:
 
  limit 100  
 
  limit 100  
 
  offset 50
 
  offset 50
===Distintct / Count ===
+
===Distintct / Count / AS===
 
*sql에서의 기능과 같음  / 특정 조건을 가진 개체의 갯수
 
*sql에서의 기능과 같음  / 특정 조건을 가진 개체의 갯수
 
  select distinct ?rel count(*)
 
  select distinct ?rel count(*)
 
  where { ?a ?rel ?b. }
 
  where { ?a ?rel ?b. }
 +
 +
*'''AS''' : (count(*) AS ?number)
  
 
===ASK===
 
===ASK===
94번째 줄: 102번째 줄:
  
 
===Filter와 함께 쓰는 기타 기능들===
 
===Filter와 함께 쓰는 기타 기능들===
{|class="wikitable
+
{|class="tableA"
 
!명칭 !! 기능!!사용예시
 
!명칭 !! 기능!!사용예시
 
|-
 
|-
104번째 줄: 112번째 줄:
 
|-
 
|-
 
|lang || 값이 어느 언어를 사용하지를 명시(Languagage 태그)<br/>한국어 KO / 영어 EN / 일본어 JA / 중국-간체 ZH-HANS / 중국-번체 ZH-HANT  ||  FILTER ( lang(?name) = "ES" )
 
|lang || 값이 어느 언어를 사용하지를 명시(Languagage 태그)<br/>한국어 KO / 영어 EN / 일본어 JA / 중국-간체 ZH-HANS / 중국-번체 ZH-HANT  ||  FILTER ( lang(?name) = "ES" )
 +
|-
 +
|&& || and ||
 +
|-
 +
|<nowiki>||</nowiki> || or ||
 
|}
 
|}
===기타 추가사항===
+
 
 +
===참고자료===
 
*[https://www.w3.org/2001/sw/DataAccess/rq23/ W3C SPARQL Query Language for RDF]
 
*[https://www.w3.org/2001/sw/DataAccess/rq23/ W3C SPARQL Query Language for RDF]
 
*[http://www.iro.umontreal.ca/~lapalme/ift6281/sparql-1_1-cheat-sheet.pdf SPARQL Cheat Sheet by LeeFeigenbaum]
 
*[http://www.iro.umontreal.ca/~lapalme/ift6281/sparql-1_1-cheat-sheet.pdf SPARQL Cheat Sheet by LeeFeigenbaum]
 +
==실습==
 +
*[http://dh.aks.ac.kr:8890/sparql Encyves SparQL Endpoint]
 +
{|class="tableA"
 +
!문제 !! 예시
 +
|-
 +
| 세종과 관련 있는 것들 || SELET ekci:조선_세종 ?rel ?B WHERE {ekci:조선_세종 ?rel ?B }
 +
|-
 +
| 아버지와 아들 관계 || SELECT ?A ?B WHERE {?A ekc:hasSon ?B}
 +
|-
 +
| 조선의 왕들과 왕의 아내 || SELECT ?A ?B WHERE {?A ekc:hasWife ?B FILTER regex(str(?A), "(조선_)+")}
 +
|-
 +
| 왕비의 이름, 왕비가 낳은 아들 || <nowiki>SELECT ?name ?son WHERE {?A rdfs:label ?name; ekc:hasSon ?son. FILTER regex(str(?A), "(왕비|왕후|황후|태후|대비)+")}</nowiki>
 +
|-
 +
|가장 많이 사용된 관계어 || SELECT ?rel (count(*) as ?count) FROM <http://localhost:8890/ekc> WHERE {?A ?rel ?B} GROUP BY ?rel ORDER BY desc(count(*))
 +
|-
 +
| 문화융합LOD에서 불러오기 || <pre> PREFIX cfo: <http://www.culture.go.kr/lod/ontology/>
  
<!--
+
select ?clodName where {
==사용예시==
+
service <http://www.culture.go.kr/lod/sparql> {
*부산문화관광LOD : 역린[http://lod.busan.go.kr/Page/Movie_%EC%97%AD%EB%A6%B0]
+
?clod rdfs:label ?clodName.
*부산문화관광LOD EndPoint : [http://lod.busan.go.kr/sparqlEndpoint.do]
+
?clod rdf:type cfo:ClassicalObject.
*부산문화관광LOD 기본 PREFIX :
+
}
PREFIX ns: <http://lod.busan.go.kr/ontology/>
+
}limit 20
PREFIX resource: <http://lod.busan.go.kr/resource/>
+
</pre>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
+
|-
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
+
| 관광공사에서 위경도정보 || <pre>PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX xsd:  <http://www.w3.org/2001/XMLSchema#>
 
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
 
PREFIX schema: <http://schema.org/>
 
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
 
  
*영화의 이름, 영문이름, 제작년도
+
select * where {
select ?movie_title ?movie_title_en ?make_year
+
?ekc rdfs:label ?ekcName.
where{
+
?ekc rdf:type ekc:Place.
?movie rdf:type ns:Movie;
+
service <http://data.visitkorea.or.kr/sparql> {  
rdfs:label ?movie_title;
+
  ?ids rdfs:label ?idsName.
ns:title_en ?movie_title_en;
+
  ?ids wgs:lat ?lat.
ns:makeYear ?make_year
+
  ?ids wgs:long ?long.
} limit 50
+
  filter (?ekcName = ?idsName)
 
+
}
*국제시장에 출연한 배우들은?
+
}limit 20 </pre>
select *
+
|-
  where{
+
|}
  ?movie ns:hasActor ?actor;
 
rdfs:label ?movie_name.
 
?actor rdfs:label ?actor_name
 
  filter(?movie_name="국제시장")
 
}
 
 
 
*개체의 이름과 해당 DB주소
 
select ?src ?name
 
where{ graph ?src {
 
?some rdfs:label ?name
 
}} limit 100
 
 
 
*개채의 이름을 가나다순으로 정렬했을 때 상위 50위부터 100위까지 보여라
 
select ?name
 
where{ ?some rdfs:label ?name}  
 
order by ?name
 
limit 50 offset 51
 
-->
 

2018년 3월 2일 (금) 14:48 기준 최신판

RDF Triplestore와 LOD(Linked Open Data) 서비스

주어(Subject) --서술어(Predicate/Verb)--> 목적어(Object)
웹 상의 시맨틱 정보를 저장하는 그래프 데이터베이스의 형태로, 스키마 모델 - 온톨로지를 이용한다.
LOD는 RDF의 형식으로 이루어진, 누구나 사용할 수 있도록 공개된 데이터베이스를 제공하는 서비스를 말한다.

온톨로지

  • Data Propery : 특정 값으로 표현되는 속성
  • Object Propery : 특정 개체로 연결되는 속성
  • rdfs:label / rdf:type

RDF 표현형식

  • Turtle
@base <http://example.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rel: <http://www.perceive.net/schemas/relationship/> .

<#green-goblin>
    rel:enemyOf <#spiderman> ;
    a foaf:Person ; 
    foaf:name "Green Goblin" .

SPARQL

Prefix

PREFIX ekc: <http://dh.aks.ac.kr/ontologies/ekc#>
PREFIX ekci: <http://dh.aks.ac.kr/iri/ekc#>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX xml: <http://www.w3.org/XML/1998/namespace>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dcterms: <http://purl.org/dc/terms#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
PREFIX dc: <http://purl.org/dc/elements/1.1#>
PREFIX edm: <http://www.europeana.eu/schemas/edm#>

기본형태

SELECT ?A(변수) ?B(변수)
WHERE
{ ?A(변수) Prefix:relation ?B(변수) .
}
  • ? : 변수의 앞에 붙임.(변수임을 표시)
  • ; : 특정 변수에 조건을 추가할 때 (and)
  • . : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할 때(end)
  • # : comment (주석)

Filter

  • 조건문, Where 대괄호 안에 넣어 검색할 개체가 가질 특정 조건을 부여
WHERE { FILTER( ?A >300; ?B = "title" ) }
WHERE { FILTER REGEX( ?A, "정규표현식") }

filter regex( ?A, "(BBB)+") : 특정문구(BBB)가 포함된 A
filter regex( ?A, "^(BBB)") : 특정문구(BBB)로 시작하는 A
filter regex( ?A, "(BBB)$") : 특정문구(BBB)로 끝나는 A

Optional

  • 추가사항, Where 대괄호 안에 넣어 검색할 개체를 보여주되, 특정 속성을 가진 경우 그 특정 속성을 보여줌
WHERE { OPTIONAL { ?A prefix:title_ZH ?title_Z}}
  • filer와 함께 사용 가능 : OPTIONAL { ?x ns:price ?price . FILTER (?price < 30) }

UNION

  • 합집합, 값을 나란한 열이 아닌, 여러 행으로 보여줌
WHERE  { { ?book dc10:title  ?title } UNION { ?book dc11:title  ?title } }

GRAPH / FROM

  • 특정 개체의 주소(DB)을 나타낼 때
WHERE { GRAPH ?src { ?A rdfs:label ?name} } 
  • 특정 DB로 제한할 때
SELECT  ?name
FROM    <http://example.org/foaf/aliceFoaf>
WHERE   { ?x foaf:name ?name }

Order By / Limit / Offset

  • Order by : 정렬 / Limit : 값의 갯수 제한 / Offset: 값 중 몇개의 값을 제외
WHERE {?x rdfs:label ?title} 
order by desc(?title) 
limit 100 
offset 50

Distintct / Count / AS

  • sql에서의 기능과 같음 / 특정 조건을 가진 개체의 갯수
select distinct ?rel count(*)
where { ?a ?rel ?b. }
  • AS : (count(*) AS ?number)

ASK

  • 특정 조건에 해당하는 값이 있는지 없는지를 yes/no의 값으로 보여줌.
ASK  { ?x foaf:name  "Alice" }

Update

  • INSERT DATA { ?A rel ?B }
  • DELETE DATA { ?A rel ?B }
  • [DELETE { template }] [INSERT {template}] where {pattern}
  • CLEAR GRAPH <uri>
  • CREATE GRAPH <uri>
  • DROP GRAPH <uri>

Filter와 함께 쓰는 기타 기능들

명칭 기능 사용예시
bound 값이 있는 경우 is not null
특정 값이 없는 경우 is null : !bound
FILTER(bound(?date))
isLiteral 값이 문자인 경우 FILTER(isLiteral(?date))
str 값을 문자형태로 변환 FILTER regex(str(?mbox), "@work.example")
lang 값이 어느 언어를 사용하지를 명시(Languagage 태그)
한국어 KO / 영어 EN / 일본어 JA / 중국-간체 ZH-HANS / 중국-번체 ZH-HANT
FILTER ( lang(?name) = "ES" )
&& and
|| or

참고자료

실습

문제 예시
세종과 관련 있는 것들 SELET ekci:조선_세종 ?rel ?B WHERE {ekci:조선_세종 ?rel ?B }
아버지와 아들 관계 SELECT ?A ?B WHERE {?A ekc:hasSon ?B}
조선의 왕들과 왕의 아내 SELECT ?A ?B WHERE {?A ekc:hasWife ?B FILTER regex(str(?A), "(조선_)+")}
왕비의 이름, 왕비가 낳은 아들 SELECT ?name ?son WHERE {?A rdfs:label ?name; ekc:hasSon ?son. FILTER regex(str(?A), "(왕비|왕후|황후|태후|대비)+")}
가장 많이 사용된 관계어 SELECT ?rel (count(*) as ?count) FROM <http://localhost:8890/ekc> WHERE {?A ?rel ?B} GROUP BY ?rel ORDER BY desc(count(*))
문화융합LOD에서 불러오기
 PREFIX cfo: <http://www.culture.go.kr/lod/ontology/>

select ?clodName where {
service <http://www.culture.go.kr/lod/sparql> {
?clod rdfs:label ?clodName.
?clod rdf:type cfo:ClassicalObject.
}
}limit 20
관광공사에서 위경도정보
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>

select * where {
?ekc rdfs:label ?ekcName.
?ekc rdf:type ekc:Place.
service <http://data.visitkorea.or.kr/sparql>  { 
 ?ids rdfs:label ?idsName.
  ?ids wgs:lat ?lat.
   ?ids wgs:long ?long.
 filter (?ekcName = ?idsName)
}
}limit 20