SPARQL 사용에 관해 정리해둔 내용을 공유합니다.
Jena TDB에 적재된 트리플들을 select 하기 위한 여러가지 코드들을 적어보려고 한다. 제일 먼저 가장 기본적으로 사용되는 단순 SPARQL select 구문이 되겠다. dataset.begin(ReadWrite.READ) ; 라인과 dataste.end(); 라인은 트랜잭션 처리를 위해서 사용하는 라인이기 때문에 트랜잭션 처리를 하지 않을 경우에는 사용하지 않아도 된다. public void select() { String directory = "D:/Data/TDB" ; Dataset dataset = TDBFactory.createDataset(directory); dataset.begin(ReadWrite.READ) ; String sparqlQueryString = "SELECT * WH..
SPARQL을 사용하다보면 질의한 결과에 대해 필터링을 해야할 때가 종종 있다. 그럴 경우에 사용할 수 있는 키워드가 VALUES 라는 것이다. 이는 SPARQL 1.1에서 제공한다. 우선 사용 법을 보면 SPARQL을 질의할 때 임의로 데이터셋을 만들어 두고 사용할 수 있다. SELECT ?text WHERE { VALUES ?data { "사과" "무" "양파" } BIND(concat("나는 ", ?data, "라고 합니다.") as ?text) } 변수에 들어가는 데이터는 { } 안에 있는 데이터로 바인딩 된다. VALUES 라는 키워드 뒤에 변수명을 적고 { } 안에 데이터셋을 입력하면 위의 SPARQL을 실행하면 결과는 아래와 같다. 결과: 위의 예시는 1차원 데이테셋이고 2차원, 3차원 데이..
위도와 경도를 통해 반경 몇 km안의 장소를 찾을 수 있다. prefix geo: select * where {?s geo:lat ?slat.?s geo:long ?slong.bind(STR(concat("POINT(", ?slong, " ", ?slat, ")")) as ?point)FILTER (bif:st_within(bif:st_geomFromText(?point), bif:st_point (128.676, 37.6427), 3))} 필터 부분에 대한 설명을 덧붙이면 bif:st_within(bif:st_geomFromText(?point), bif:st_point (128.676, 37.6427), 3) bif:st_within(A, B, C) 와 같은 형식으로 사용하는데A는 찾는 대상, B는 ..
2013년과 2014년 국립수목원과 국립중앙과학관에서 국가DB 사업의 일환으로 생물정보LOD가 구축되었다.생물종 분류군에 대한 정보를 제공하는 LOD 플랫폼과 이를 활용한 LOD생물정보통합시스템을 각각 구축하여사용자들에게 제공하고 있는 중이다. 생물정보통합시스템에서는 LOD플랫폼에서 제공하는 데이터를 SPARQL을 통해 가져와 페이지를 구성하는 형식인데초기에 짜여진 SPARQL의 질의 속도가 상당히 느리게 나오는 현상을 발견되었다.따라서 이를 해결하고자 시스템에서 사용하는 SPARQL을 전달받아 살펴보았다. SPARQL은 복잡하지는 않은 형태이나 GROUP BY를 사용하여 그룹핑된 결과를 처리하는 형식이라GROUP_CONCAT을 여러개 사용하고 있었고 OPTIONAL 구문도 여러개 사용하는 형태였다.또한..
- Total
- Today
- Yesterday
- 그래프 데이터베이스
- Knowledge Graph
- TDB
- neosemantics
- Ontology
- 지식 그래프
- stardog
- Linked Data
- 트리플 변환
- django
- 온톨로지
- 타임리프
- cypher
- MeCab
- 사이퍼
- 장고
- 트리플
- TopBraid Composer
- RDF 변환
- 스프링부트
- Neo4j
- TBC
- Thymeleaf
- 지식그래프
- RDF
- LOD
- sparql
- property graph
- pyvis
- networkx
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |