2013년과 2014년 국립수목원과 국립중앙과학관에서 국가DB 사업의 일환으로 생물정보LOD가 구축되었다.생물종 분류군에 대한 정보를 제공하는 LOD 플랫폼과 이를 활용한 LOD생물정보통합시스템을 각각 구축하여사용자들에게 제공하고 있는 중이다. 생물정보통합시스템에서는 LOD플랫폼에서 제공하는 데이터를 SPARQL을 통해 가져와 페이지를 구성하는 형식인데초기에 짜여진 SPARQL의 질의 속도가 상당히 느리게 나오는 현상을 발견되었다.따라서 이를 해결하고자 시스템에서 사용하는 SPARQL을 전달받아 살펴보았다. SPARQL은 복잡하지는 않은 형태이나 GROUP BY를 사용하여 그룹핑된 결과를 처리하는 형식이라GROUP_CONCAT을 여러개 사용하고 있었고 OPTIONAL 구문도 여러개 사용하는 형태였다.또한..
몇개월 전에 특정 사이트에 추가하기 위한 필요에 의해 작성하였던 SPARQL 사용설명을 공개합니다. SPARQL(SPARQL Protocol and RDF Query Language)은 W3C의 표준으로서 RDF 쿼리 언어입니다. 데이터베이스에서 정보를 찾거나 입력하고자 할 경우 Query를 사용하듯이 RDF로 표현된 데이터를 찾기 위해서 SPARQL 이라는 언어를 사용합니다.그럼 이 SPARQL을 하나씩 살펴보겠습니다. 1. SPARQL의 유형 데이터베이스에 질의하는 쿼리는 흔히들 사용하는 SELECT문 이외에도 UPDATE, INSERT, DELETE 문들이 있습니다. 마찬가지로 SPARQL에도 쓰임새는 약간 다르지만 이러한 유형들이 존재합니다. 이 유형들은 SELECT, ASK, CONSTRUCT,..
레이블에 따라서 가, 나, 다...등으로 구분하고자할 때 regex, if, bind를 통하여질의가 가능하다. 쿼리-----------------------------------------------------prefix rdfs: select * where { ?s rdfs:label ?o . filter(lang(?o)='ko')bind ( if( regex(str(?o), '^[가-깋]'),'가',if( regex(str(?o), '^[나-닣]'),'나',if( regex(str(?o), '^[다-딯]'),'다','none'))) as ?t )} limit 50 ----------------------------------------------------- 설명bind(xxx as 변수)if(조건,..
LARQ는 ARQ와 Lucene으로 이루어져 SPARQL 쿼리에 텍스트 검색을 위해 사용된다.사용패턴은 크게 문자열 인덱스 생성과 Subject 인덱스 생성이 있겠다.문자열 인덱스 생성은 트리플에 포함되어있는 string을 Lucene을 통해 인덱스를 생성하고 생성된 인덱스에 검색 문자열과 매칭이 되는 string을 반환해 준다.반면에 Subject 인덱스 생성은 문자열 인덱스 생성과 유사하나 반환하는 값이 그 문자열이 포함된 string이 아니라그 string의 Subject 자원이다. 실제 사용을 위해 인덱스를 생성하는 작업부터 테스트를 해보았다.인덱스의 생성은 Model 자체를 읽는 것과Model의 Statement를 읽어서 생성하는 방식이 있다. 1. 먼저 Jena Model을 로딩하여 인덱스를 ..
- Total
- Today
- Yesterday
- stardog
- LOD
- 트리플
- Ontology
- Linked Data
- pyvis
- Thymeleaf
- 그래프 데이터베이스
- 트리플 변환
- django
- 지식 그래프
- 타임리프
- networkx
- TDB
- TopBraid Composer
- cypher
- RDF
- 장고
- 지식그래프
- 사이퍼
- Knowledge Graph
- rdfox
- 스프링부트
- neosemantics
- property graph
- sparql
- TBC
- RDF 변환
- Neo4j
- 온톨로지
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |