"SPARQL Tutorial"의 두 판 사이의 차이
hiblue
(→Select) |
(→RDF 표현형식) |
||
| 11번째 줄: | 11번째 줄: | ||
**<small>클래스 정의용 관계어 : rdf:type / rdfs:subClassOf</small> | **<small>클래스 정의용 관계어 : rdf:type / rdfs:subClassOf</small> | ||
===RDF 표현형식=== | ===RDF 표현형식=== | ||
| − | *Turtle | + | *Turtle |
<span style="COLOR:LightSeaGreen"> ekc:조선_세종 dc:creator ekc:훈민정음 </span> | <span style="COLOR:LightSeaGreen"> ekc:조선_세종 dc:creator ekc:훈민정음 </span> | ||
<span style="COLOR:LightSeaGreen"><nowiki><http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong> rdfs:label "조선 세종"@kor</nowiki></span> | <span style="COLOR:LightSeaGreen"><nowiki><http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong> rdfs:label "조선 세종"@kor</nowiki></span> | ||
| − | *RDF/XML | + | *RDF/XML |
<span style="COLOR:LightSeaGreen"><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> | <span style="COLOR:LightSeaGreen"><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> | ||
<span style="COLOR:LightSeaGreen"><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></span> | <span style="COLOR:LightSeaGreen"><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></span> | ||
| − | * | + | *N-Triples |
| − | < | + | <http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://purl.org/dc/terms/title> "N-Triples"@en-US . |
| − | + | ||
===LOD 데이터 얻기=== | ===LOD 데이터 얻기=== | ||
*[http://thedatahub.org 데이터허브] | *[http://thedatahub.org 데이터허브] | ||
2018년 2월 7일 (수) 21:21 판
목차
RDF Triplestore
RDF triplestore는 W3C에서 정의한 시맨틱 정보를 저장하는 그래프 데이터베이스의 형태 중 하나이다. 온톨로지라는 스키마 모델을 이용하며, 개체와 관계간의 계층 구조를 보여줄 수도 있다. 데이터와 아래와 같이 각 개체와 개체관의 관계를 보여주는, 3형식(Triple, Statement)으로 저장되기 때문에 Triple Store라 불린다.
주어(Subject) --서술어(Predicate/Verb)--> 목적어(Object)
LOD(Linked Open Data)
- W3C에서 명시한 방법으로 구조화된, 서로 연결된, 웹(Web)상의 데이터로 RDF triple 형식을 이용한다.
- 개체(노드)의 이름으로 HTTP URL를 사용
- 다른 개체(노드)에 대한 링크를 포함하라."
- 클래스 정의용 관계어 : rdf:type / rdfs:subClassOf
RDF 표현형식
- Turtle
ekc:조선_세종 dc:creator ekc:훈민정음 <http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong> rdfs:label "조선 세종"@kor
- RDF/XML
<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"/> <ekc:joseon_Sejong rdfs:about="http://dh.aks.ac.kr/Encyves/resource/joseon_Sejong"> <rdfs:label xml:lang="kor">조선 세종</rdfs:label></ekc:joseon_Sejong>
- N-Triples
<http://www.w3.org/2001/sw/RDFCore/ntriples/> <http://purl.org/dc/terms/title> "N-Triples"@en-US .
LOD 데이터 얻기
SPARQL
Prifix
데이터들이 어떤 층위에 속해 있는지를 지정해놓는 공간. 이름이 같은 데이터라도 층위에 따라 다른 의미를 가질 수 있다
prefix:IRI ex) @prefix:rdf <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
Select
SELECT ?name ?url
WHERE{ ?person foaf:name ?name.
OPTIONAL {?person rdfs:seeAlso ?url} <- 조건에 부합하는 것이 있으면 반환/없으면 반환X
} ORDER BY ?name LIMIT 10
select ?relegion (COUNT(?person) as ?count) where { ?person hlod:relegionName ?relegion. } group by ?relegion
select ?person ?gender ?name where { ?person foaf:gender ?gender; hlod:titleKor ?name. filter regex(?gender, "남")}
DBpedia EndPoint
한국사 LOD 실습
- 부모와 자식관계인 인물들
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX hlod: <http://lod.koreanhistory.or.kr/> select ?father ?son where {?father hlod:hasChild ?son} limit 50