티스토리 뷰

H:::SPARQL

H_3. SPARQL 1.1 working draft

joyHong 2012. 5. 2. 18:35

SPARQL 1.1 working draft


W3C에서 SPARQL에 대한

따끈따근한 드래프트 버전이 올라온 다음날..

SPARQL 1.1 버전인데 뭐가 달라졌나 싶어 읽어보았다.

대략 정리를 해보면


1. 쿼리문 자체를 좀더 복합적으로 생성할 수 있도록 기능을 추가함

1.0에서는 union, optional, filter 등으로 쿼리를 만들었는데

1.1에서는 value aggregation, path expressions, nested queries 등이 추가되었다고 한다.

좀더 자세히 어떤 것인지는 깊게 살펴봐야 할듯한다.

참고 : http://www.w3.org/TR/sparql11-query/


2. 쿼리 결과 형식을 제공함

쿼리 결과에 대한 변수값으로 제공하던 형식에서

XML, JSON, CSV, TSV 4가지 형식으로 쿼리 결과를 제공한다.

물론 http 프로토콜을 통해 sparql endpoint 에서 제공하는 것인거 같다.

참고 : http://www.w3.org/TR/rdf-sparql-XMLres/

http://www.w3.org/TR/sparql11-results-json/

http://www.w3.org/TR/sparql11-results-csv-tsv/


3. federated query 지원

이 부분은 예전에 공개(?) 되어서 알고 있었던 부분인데

SERVICE 라는 키워드를 통해

다른 endpoint와의 결합하여 변수를 바인딩하여

서로 다른 공간의 트리플 데이터들을 사용할 수 있도록 해준다.

예:

PREFIX foaf: http://xmlns.com/foaf/0.1/

SELECT ?name

WHERE {

foaf:knows [ foaf:name ?name ] .

SERVICE {

foaf:name ?name }

}

참고 : http://www.w3.org/TR/sparql11-federated-query/


4. 스키마나 axiom의 정보를 활용하여 쿼리 결과를 반환 (entailment regimes)

예시로 보는 것이 설명이 빠를것 같다.

foaf:name rdfs:subPropertyOf rdfs:label .

이라는 트리플이 있을때


SELECT ?label WHERE { ?person rdfs:label ?label }


쿼리를 날리면

foaf:name 이 rdfs:label 의 하위 프로퍼티기 때문에

?person foaf:name ?label 과 같은 쿼리의 값이 도출된다.

참고: http://www.w3.org/TR/sparql11-entailment/


5. update language

트리플저장소에 있는 내용에 대해 쿼리를 통해

update, create, remove 할 수 있도록 지원해준다고 한다.

참고: http://www.w3.org/TR/sparql11-update/


6. 그외

HTTP를 통한 sparql service에 대한 요청을 하기 위한 프로토콜에 대한 것, service description, graph store HTTP 프로토콜 등이 올라왔다..


대략적인 내용이라 세부적으로 좀 더 살펴봐야겠다..

'H:::SPARQL' 카테고리의 다른 글

H_6. fn을 이용한 현재 나이 계산  (0) 2012.06.05
H_5. SUM with GROUP BY  (0) 2012.06.05
H_4. SPARQL group_concat  (0) 2012.06.04
H_2. unionOf와 같은 집합에 해당되는 클래스 추출 쿼리  (0) 2012.04.30
H_1. SPARQL  (0) 2012.04.30
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함