Sparql 도움말
- SPARQL(Simple Protocol and RDF Query Language)은 온톨로지 질의(Query) 언어
- SPARQL은 크게 PREFIX, {SELECT, ASK, DESCRIBE, CONSTRUCT}, WHERE로 구성
- PREFIX는 일반 데이터베이스에서 데이터베이스 선택과 비슷한 의미로써 사용할 데이터 셋을 지정할 때 사용
- BASE 정의부(선택사항), PREFIX 정의부, SELECT 파트, WHERE 절, LIMIT 절, OFFSET 절
- 변수 : '?'을 변수명 앞에 붙여 선언 예) ?x
- PREFIX : URL을 별칭으로 지정
- SELECT : SPARQL Query 결과를 표현, 변수명이 위치
- - DISTINCT : 중복되는 결과는 제거하고 표현
- - WHERE : Query 하고자 하는 조건이 위치
- - '{' 로 시작해서 '}' 으로 조건절의 끝을 표현
- - Triple 구조로 표현 주어 술어 목적어로 표현하며 공백으로 분리
- - Triple 끝은 '.'으로 표시
- - Triple에는 URL이나 PREFIX:영문명, 변수가 위치
- ORDER BY : Query 결과의 순서를 지정
- LIMIT : Query 결과를 출력할때 몇 건을 보여줄 것 인지 지정
- OFFSET : Query 결과를 몇 번째부터 출력할 것인지 지정.(결과가 많을 경우)
질의)'이청준'이 집필한 도서 중 경희대학교에 소장하고 있는 도서?
SELECT ?objectproperty ?name WHERE {
?s a <http://xmlns.com/foaf/0.1/Agent>.
?s <http://purl.org/dc/elements/1.1/title> "이청준"^^xsd:string.
?s <http://data.riss.kr/ontology/createBook> ?objectproperty.
?objectproperty <http://data.riss.kr/ontology/heldByUniv> ?k.
?k <http://purl.org/dc/elements/1.1/title> "경희대학교"^^xsd:string.
?objectproperty <http://purl.org/dc/elements/1.1/title> ?name.
}
Query 결과Name | Object Property |
---|---|
예언자 | https://data.riss.kr/resource/Book/000008065571 |
자서전들 쓰십시다 | https://data.riss.kr/resource/Book/000007902156 |
당신들의 천국 | https://data.riss.kr/resource/Book/000007720284 |
제3의 현장 | https://data.riss.kr/resource/Book/000007209829 |
씌어지지 않은 자서전:이청준 장편소설 | https://data.riss.kr/resource/Book/000000925710 |
조율사 | https://data.riss.kr/resource/Book/000000034773 |
그와의 한 시대는 그래도 아름다웠다 | https://data.riss.kr/resource/Book/000009025747 |
별을 보여드립니다:이청준 소설집 | https://data.riss.kr/resource/Book/000011050627 |
이청준 작품집 | https://data.riss.kr/resource/Book/000011998384 |
RISS SPARQL Endpoint를 통하여 외부 Linked Data인 DBpedia를 직접 질의(Query)할 수 있음
1) SPARQL Endpoint 화면의 Query창 아래 DBpedia 체크박스를 선택 2) Query창 안에 DBpedia SPARQL Query를 입력예. 이순신 (http://ko.dbpedia.org/resource/이순신) 의 개요 (http://dbpedia.org/ontology/abstract) 쿼리
3) Query창 아래 결과물유형(XML/HTML/JSON)을 선택하고 ‘Result’ 버튼을 클릭 4) Query결과에서 결과를 확인 DBpedia를 실시간으로 직접 Query하는 것이므로 네트워크, DBpedia 데이터 상황, 기타 외부요인에 따라 결과를 가져오는 시간이 지연될 수 있음.RISS SPARQL Endpoint는 시간이 1분이상 지연될 경우 연결을 끊음