2014-03-28 5 views
0

Jenaread 메서드를 사용하여 모델의 파일에서 온톨로지를로드하는 데 도움이됩니다. 거장이 Jena API을 사용하여 비슷한 점이 있습니까?Jena API를 사용하여 virtuoso에서 n-triple 파일을로드하는 방법

이렇게하면 기존의 온톨로지 저장소에서 n-triple 형식으로 거장을 테스트하는 데 크게 도움이됩니다. 당신이 비르투 오조 서버에서 온톨로지를 읽으려면 여기에 설명 된대로

답변

2

, 당신은, 거장 드라이버 -like은 "JDBC"을해야합니다 나는 소스에서 컴파일하는 것이 바람직하지만 http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtJenaProvider 다운로드가 http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSDownload#Jena%20Provider 에있다 -

다음과 같이 수행 할 수 있습니다에 대한 액세스를 허용해야

VirtDataset dataSet = new VirtDataset("jdbc:virtuoso://localhost:1111/charset=UTF-8/","user","pass"); 
Model baseModel = dataSet.getNamedModel("http://my.graph.name/"); 
OntModel ontModel = ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM, baseModel); 

이 모든 당신의 비르투 오조에 저장된 RDF-트리플 (한 번에 하나 개의 그래프). RDF 만 원한다면 "OntModel"구성으로 마지막 줄을 생략하십시오. 상점이 매우 큰 경우에도 온톨로지를 RAM에로드하므로 동일합니다.

+0

나는 jdbc 드라이버를 가지고 있지만, 디스크의 파일에서 온톨로지를 읽는 방법을 궁금해하십니까? 예나에서는 그렇게하기 위해'model.read'을 사용합니다. 거장과 똑같이하는 방법? –

+0

나는 당신의 질문을 이해하지 못했을 것 같아요. 거장이나 파일에서 온톨로지를 읽고 싶습니까? 그리고 만약 파일에서, 어떻게 거장 놀이에 와서합니까? –

1

Jena read 메서드는 Virtuoso Jena 제공 업체에서도 사용할 수 있습니다. 다음과 같이 :

try { 
    String nfile = "1.nt"; 
    Model model = VirtModel.openDatabaseModel("load:test", "jdbc:virtuoso://localhost:1111", "dba", "dba"); 
    InputStream in = FileManager.get().open(nfile); 
    if (in == null) { 
     throw new IllegalArgumentException("File: " + nfile + " not found"); 
    } 
    model.read(new InputStreamReader(in), null, "N-TRIPLE"); 
    model.close(); 

} catch (Exception e) { 
    System.out.println("Ex="+e); 
}