Jena Framework 에서 제공하는 컴포넌트 중에 Fuseki 라는 것이 있는데 이는 간단하게 SPARQL Server를 구성하게 해준다. 내부적으로는 영속성을 위해 TDB를 사용하는데 TDB를 파일시스템으로 사용하면서 HTTP를 통해 SPARQL endpoint를 구성하고 있다. 간혹 파일형태로 RDF 데이터를 보유하고 있는데 트리플스토어를 구성하고 endpoint까지 활용해야 할 경우에 사용하면 편리할 것이다. https://github.com/joyhong85/rdf_python/blob/main/03.Fuseki-SPARQL_Endpoint_just_20_minutes.pdf GitHub - joyhong85/rdf_python: rdf with python rdf with python. C..
애플리케이션 상에서 데이터를 주고 받는 형식으로 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..
- Total
- Today
- Yesterday
- 스프링부트
- RDF
- 트리플 변환
- 사이퍼
- sparql
- property graph
- Linked Data
- Neo4j
- stardog
- Knowledge Graph
- 트리플
- 장고
- neosemantics
- 타임리프
- 그래프 데이터베이스
- 지식 그래프
- networkx
- RDF 변환
- TDB
- TopBraid Composer
- cypher
- rdfox
- LOD
- 지식그래프
- TBC
- 온톨로지
- Ontology
- pyvis
- Thymeleaf
- django
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |