2010-05-18 3 views
0

각 줄의 형식이 잘된 n-triples 형식의 rdf 파일 (file.trp)이 있습니다.SWI-Prolog : semweb/rdf_db 라이브러리를 사용하여 rdf 트리플을로드하는 방법?

"subject predicate object."

semweb/rdf_db에서 rdf_load를 사용하여 메모리에로드하려고했지만 실패했습니다. 여기에 내가 뭘하려 : 아마 외국 라이브러리에 정의되어

rdf_load_db_/3 

를 호출

rdf_db:rdf_load_stream/3 

:

?- rdf_load('file.trp'). 

?- rdf_load('file.trp', [format(triples)]). 

추적은 목표에 실패 보여줍니다.

설명서에 xml과 triple을 지원한다고 나와 있습니다. 그러나 rdf xml 파일 만로드합니다. 어떻게 이러한 rdf 트리플 파일을로드 할 수 있습니까?

감사합니다, 리

답변

1

manual이 술어 rdf_load/2이 중 하나 RDF/XML을 지원하거나, 아마의 n 트리플 형식 아니다 '내부 빠른 부하 및 캐시 형식'의 제안합니다.

:- use_module(library(semweb/rdf_db)). 

이 두 번째로, 나는 당신이 읽을 수있는 적절한 형식으로 트리플을 변환해야합니다 생각 :

첫째, 당신은이 어쨌든이 술어를 사용하기 위해 다음과 같은 가져해야합니다 술어와 같은 RDF/XML,이 같은 전화를 사용 :

rdf_load('file.xml', [format(xml)]). 

당신은 N-트리플과 (다른 사람의 사이에) RDF/XML 형식 사이의 변환이 online converter을 사용할 수 있습니다.

2

라이브러리 (semweb/rdf_db)는 추가 플러그인 (URL, 압축 된 다른 트리플 형식)을 지원하기 위해 여러 플러그인으로 확장 될 수 있습니다. 특히 :

  • 로드 라이브러리 (semweb/rdf_turtle이)가 .ttl (거북이)
  • 로드 라이브러리 (semweb/rdf_zlib_plugin)는 파일 (압축)
  • 로드 라이브러리에 .gz 처리 수를 읽을 수 있습니다 (semweb/rdf_http_plugin)이 http : // URL에서로드되도록합니다.
  • 로드 라이브러리 (semweb/rdf_ntriples)는 ntriples 형식 을로드합니다 (최신 개발 버전 인 6.3.8에서만 제공됨).
관련 문제