"SPARQL Tutorial"의 두 판 사이의 차이
hiblue
(→Select) |
(→기본형태) |
||
| 41번째 줄: | 41번째 줄: | ||
{ ?A(변수) Prefix:relation ?B(변수) | { ?A(변수) Prefix:relation ?B(변수) | ||
} | } | ||
| + | *'''?''' : 변수의 앞에 붙임.(변수임을 표시) | ||
| + | *''';''' : 특정 변수에 조건을 추가할 때 (and) | ||
| + | *'''.''' : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할 | ||
| + | 때(end) | ||
| + | *'''limit''' : 뒤에 오는 숫자에 따라, 상위 00개만 보여줌 | ||
| + | ==사용예시== | ||
| + | *영화의 이름, 영문이름, 제작년도 | ||
| + | select ?movie_title ?movie_title_en ?make_year | ||
| + | where{ | ||
| + | ?movie rdf:type ns:Movie; | ||
| + | rdfs:label ?movie_title; | ||
| + | ns:title_en ?movie_title_en; | ||
| + | ns:makeYear ?make_year | ||
| + | } limit 50 | ||
=== | === | ||
2018년 2월 7일 (수) 23:47 판
목차
RDF Triplestore
RDF triplestore는 W3C에서 정의한 시맨틱 정보를 저장하는 그래프 데이터베이스의 형태 중 하나이다. 온톨로지라는 스키마 모델을 이용하며, 개체와 관계간의 계층 구조를 보여줄 수도 있다. 데이터와 아래와 같이 각 개체와 개체관의 관계를 보여주는, 3형식(Triple, Statement)으로 저장되기 때문에 Triple Store라 불린다.
주어(Subject) --서술어(Predicate/Verb)--> 목적어(Object)
LOD(Linked Open Data)
- W3C에서 명시한 방법으로 구조화된, 서로 연결된, 웹(Web)상의 데이터로 RDF triple 형식을 이용한다.
- 개체(노드)의 ID으로 URL를 사용
- 클래스 정의용 관계어 : rdf:type / rdfs:subClassOf
- 개체 네이밍 관계어 : rdfs:label
Data Protery / Object Property
- Data Propery : 특정 값으로 표현되는 속성 ex) Label
- Object Propery : 특정 개체로 연결되는 속성 -> ex) Creator
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"/></span> <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 . <http://example.org/show/218> <http://www.w3.org/2000/01/rdf-schema#label> "That Seventies Show"^^<http://www.w3.org/2001/XMLSchema#string> <http://example.org/#spiderman> <http://www.perceive.net/schemas/relationship/enemyOf> <http://example.org/#green-goblin>
SPARQL
Prefix
데이터들이 어떤 층위에 속해 있는지를 지정해놓는 공간. 이름이 같은 데이터라도 층위에 따라 다른 의미를 가질 수 있다.
- DC : Dublin Core, 서지정보 메타데이터[1]
- FOAF : Friend of A Friend, 현대 사람들의 관계 기술 [2]
- BIBO : Bibliographic Ontology, 책이나 잡지 등의 서지정보 [3]
- SKOS : Simple Knowledge Organization System, 지식 어휘 체계*시소러스 [4]
- EDM : Europeana Data Model, 유로피아나(유럽 박물관/미술관 통합 아카이브) [5]
- RDFS : Resource Description Framework, RDF 구조를 표현하기 위한 지식표현 모델(클래스, 속성 정의)[6]
기본형태
SELECT ?A(변수), ?B(변수)
WHERE
{ ?A(변수) Prefix:relation ?B(변수)
}
- ? : 변수의 앞에 붙임.(변수임을 표시)
- ; : 특정 변수에 조건을 추가할 때 (and)
- . : 기존에 선언된 변수와 관계 없이 새로운 개체나 조건을 명시할
때(end)
- limit : 뒤에 오는 숫자에 따라, 상위 00개만 보여줌
사용예시
- 영화의 이름, 영문이름, 제작년도
select ?movie_title ?movie_title_en ?make_year
where{
?movie rdf:type ns:Movie;
rdfs:label ?movie_title;
ns:title_en ?movie_title_en;
ns:makeYear ?make_year
} limit 50