애플리케이션 상에서 데이터를 주고 받는 형식으로 json이 많이 사용되고 있다. RDF 형식의 데이터도 JSON 형식으로 변환이 가능하며, SPARQL을 통해 생성한 결과 또한 JSON으로 변환이 가능하다. 여기에서는 Jena에서 제공하는 포맷터를 통해 JSON형식으로 결과를 만들어 내는 것에 대해 이야기하고자 한다. 예제에서 사용하는 SPARQL은 Jena TDB에 적재되어 있는 트리플 데이터에 질의하여 결과를 생성한다. 그럼 Jena에서 제공하는 ResultSetFormatter 라는 클래스는 SPARQL 질의 결과를 JSON, XML, CSV, TSV 등의 형식 뿐만 아니라 RDF데이터셋의 다양한 형식으로 변환을 하게 해주는 클래스이다. 따라서 SPARQL 질의 결과를 JSON으로 변환하고 반환받고..
대용량의 데이터를 Jena TDB에 적재하기 위해서는 TDB에서 제공하는 벌크로딩 기능을 사용하는 것이 성능면에서나 효율면에서 좋다. 벌크로딩을 사용하는 방법은 그리 어렵지가 않은데 두가지 방법에 대해서 설명해 보고자 한다. 먼저는 RDF 형식에 상관없이 벌크로딩을 하는 방법에 대해서 보겠다. 기본적으로 n-triples, ttl, rdf/xml 형식 이외에 trig, n-quads 형식의 파일에서도 잘 동작한다. trig와 n-quads 는 그래프를 포함하는 RDF 문법을 정의하기 위해서 사용하는 형식이며 trig는 ttl을 확장한 것이기에 ttl의 문법과 유사하다. n-quads는 라인 기반 형식인 n-triples와 유사하지만 끝에 그래프명이 붙는 것이 다른 점이다. 위 형식에 대한 보다 자세한 설..
Jena TDB에 RDF 데이터를 입력(적재)하는 방법은 여러가지가 존재한다. 그 중에 몇가지를 적어본다. 1. 데이터 직접 생성하여 입력 먼저는 TDB의 dataset에 Model로 데이터를 생성하여 입력하는 방식이다. 이 방법은 Jena Model의 사용하여 s, p ,o를 만드는 것과 동일하다. public void insert() { String directory = "D:/data/TDB" ; Dataset dataset = TDBFactory.createDataset(directory); Model model = dataset.getDefaultModel(); model.add(ResourceFactory.createResource("http://test.com/subject"), Resour..
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..
Jena Framework를 사용하다보면 Triple 레벨을 사용할 때가 있고 Statement 레벨을 사용할 때가 있다. Triple, Node, Graph 등은 SPI 인터페이스들이고 Statement, Resource, Model 등은 API 인터페이스들인데 SPI 레벨보다는 API 레벨이 더 활용도가 많을 것이다. API 레벨의 클래스들을 SPI 레벨로 변경하는건 쉬울 수 있으나 그 반대는 상대적으로 많이 까다롭다. 여기서 Triple 클래스는 SPI레벨이고 Statement 클래스는 API레벨인데 Statement에서 Triple로 변경하려면 asTriple() 만 쓰면 끝난다. 하지만 Triple에서 Statement로 변경하려면?? 불가능한것이 아니지만 단 한줄로 끝나는 것이 아니라는 것이다..
- Total
- Today
- Yesterday
- neosemantics
- TopBraid Composer
- 트리플
- sparql
- property graph
- Knowledge Graph
- Neo4j
- 장고
- Ontology
- 지식그래프
- Thymeleaf
- TBC
- 그래프 데이터베이스
- 스프링부트
- 사이퍼
- TDB
- RDF
- cypher
- 트리플 변환
- Linked Data
- RDF 변환
- LOD
- 타임리프
- 온톨로지
- stardog
- rdfox
- 지식 그래프
- networkx
- django
- pyvis
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |