
위경도 정보를 활용해 반경 내 특정 정보를 찾아야 하는 태스크가 생겨스타독을 활용하여 반경 내 검색을 적용하였다.스타독에서 기본적으로 지원하는 Geospatial 스펙은 WGS84와 GeoSPARQL 이기 때문에WGS84 위경도 좌표만 입력하면 공간좌표를 활용한 검색이 가능하다.테스트를 위해 특정 위치의 반경 2km내에 존재하는 다른 데이터를 검색하니 매우 빠른 속도로 결과를 내주었다.반경 km를 늘려가며 테스트 했을 때 속도 저하는 거의 없었으며limit 1000 건까지는 1초 내로 결과를 내주는 성능을 보이고 있었다.리미트 1000건 이후로는 큰 의미가 없을 것 같아 테스트 하지 않았고, 이정도라면무난한 서비스가 가능할 것 같다. 물론 SPARQL을 어떻게 작성하는냐에 따라 성능 차이는 있을 ..
SPARQL 사용에 관해 정리해둔 내용을 공유합니다.

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
- Thymeleaf
- 사이퍼
- 타임리프
- 스프링부트
- django
- rdfox
- sparql
- cypher
- Neo4j
- RDF
- Ontology
- 장고
- neosemantics
- TopBraid Composer
- TBC
- 트리플
- LOD
- pyvis
- RDF 변환
- 온톨로지
- 지식그래프
- networkx
- 그래프 데이터베이스
- 트리플 변환
- TDB
- 지식 그래프
- stardog
- property graph
- Linked Data
- Knowledge Graph
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |