2013-10-30 3 views
2

나는 Java 프로그램을 통해 내 RDFized 데이터를 참깨에 직접 저장할 수있는 솔루션을 찾고 있습니다. 나는 1.7M 레코드의 데이터베이스를 가지고 있는데, D2R을 사용하여 RDF로 변환했다. 이제 RDFized 데이터를 참깨 트리플 저장소에 저장하려고합니다. 데이터가 크기 때문에 RDF 덤프를 생성하지 않았습니다. 어떤 방법으로 코드/솔루션을 통해 RDF 데이터를 내 트리플 스토어로 옮길 수 있습니까? 고마워요D2R을 사용하여 RDF 데이터를 참깨에 직접 저장하는 방법은 무엇입니까?

+1

이것을 달성하는 데는 여러 가지 방법이있을 수 있습니다. 그러나 당신은 당신의 셋업과 당신이 찾고자하는 것이 무엇인지 조금 더 구체화해야 할 것입니다. RDF 덤프가 없지만 D2R을 사용하여 RDF를 생성했다고 가정합니다. 그래서 당신은 무엇을 가지고 있습니까? –

+1

시도한 것을 보여줄 수도 있습니다. 라이브 피드 또는 파일 덤프로드에 적용 할 수있는 참깨 API를 온라인에서 사용하는 방법에 대한 많은 예제가 있습니다. – Michael

+1

Jeen과 Michael에게 답장을 보내 주셔서 감사합니다. 글쎄, 나는 물었다, 나는 접근 할 수있는 D2R로 데이터를 rdfized했다. (http://cbakerlab.unbsj.ca:8080/liapibackup/snorql/). 문제는 SPARQL 쿼리 실행 시간이 매우 느려서 백엔드에서 mysql 데이터베이스로 인해 발생합니다. 누군가 내가 데이터를 참깨에 저장하면 액세스 속도를 향상시킬 수 있다고 제안했습니다. 나는 인터넷을 통해 나를 안내 할 수있는 자습서를 찾았지만 아무 것도 찾을 수 없었다. 아시다시피 나에게 예제/튜토리얼을 공유하십시오. 감사. –

답변

1

당신이 정말로 말하려고하는 것은 다음과 같습니다 : 당신은 D2RQ를 사용하여 RDF 래퍼보기를 생성 한 큰 RDBMS를 가지고 있습니다. 이제 SNORQL (D2RQ의 SPARQL 엔드 포인트)을 사용하여 해당 데이터를 추출하고 Sesame을 사용하여 기본 RDF 트리플 스토어로 푸시하려고합니다.

나는 그것을 반영하기 위해 질문을 편집하려했지만 불행히도 투표가 종료되었습니다.

  1. 당신에게 GraphQueryResult

    GraphQueryResult graphResult = con.prepareGraphQuery(
    QueryLanguage.SPARQL, "CONSTRUCT <...your SPARQL QUERY here ...>".evaluate(); 
    
  2. 돌아갑니다 QueryResults 유틸리티 클래스를 사용을 반환하는 그래프 쿼리를 발사 :

    어쨌든, 참깨, 당신은에 의해 자바 코드를 통해이 작업을 수행 할 수 있습니다 모델명 :

    Model resultModel = QueryResults.asModel(graphQueryResult); 
    
  3. 사용 e를 오버로드 한 RepositoryConnection.add 메소드를 사용하여이 데이터를 기본 참깨 저장소에 추가합니다.

+1

좋습니다.하지만 실제로 2 단계는 건너 뛸 수 있습니다. 'GraphQueryResult'는'Iteration'의 서브 타입이므로,'RepositoryConnection.add' 메소드에 직접 입력 할 수 있습니다. 이는 결과가 모델에서 완전히 구체화 될 필요가 없다는 장점이 있습니다. 스트리밍 방식으로 처리 될 수 있습니다. –

+0

나는 그것을 간과했다. 좋은 지적. 고마워요 @JeenBroekstra – Nikhil