SWI Prolog:如何使用semweb/rdf_db库加载rdf三元组?

SWI Prolog:如何使用semweb/rdf_db库加载rdf三元组?,rdf,swi-prolog,Rdf,Swi Prolog,我有一个n-triples格式的rdf文件(file.trp),其中每一行都是格式良好的三元组: “主谓宾语。” 我试图在semweb/rdf_数据库中使用rdf_load将其加载到内存中,但失败了。以下是我尝试过的: ?- rdf_load('file.trp'). ?- rdf_load('file.trp', [format(triples)]). 跟踪显示目标在以下位置失败: rdf_db:rdf_load_stream/3 哪个叫 rdf_load_db_/3 这可能是在国外图

我有一个n-triples格式的rdf文件(file.trp),其中每一行都是格式良好的三元组:

“主谓宾语。”

我试图在semweb/rdf_数据库中使用rdf_load将其加载到内存中,但失败了。以下是我尝试过的:

?- rdf_load('file.trp').

?- rdf_load('file.trp', [format(triples)]).
跟踪显示目标在以下位置失败:

rdf_db:rdf_load_stream/3
哪个叫

rdf_load_db_/3
这可能是在国外图书馆中定义的

手册说它支持xml和三元组。但它只加载rdf xml文件。如何加载这样的rdf三重文件

谢谢, Li

表明谓词
rdf_load/2
支持or,它是“内部快速加载和缓存格式”,可能不是n-triples格式

首先,您需要导入以下内容以使用该谓词:

:- use_module(library(semweb/rdf_db)).
其次,我认为您需要将您的三元组转换为该谓词可读的适当格式,例如,并使用如下调用:

 rdf_load('file.xml', [format(xml)]).
您可以使用它在n-triples和RDF/XML格式(以及其他格式)之间进行转换。

建议谓词
RDF_load/2
支持or,它是“内部快速加载和缓存格式”,可能不是n-triples格式

首先,您需要导入以下内容以使用该谓词:

:- use_module(library(semweb/rdf_db)).
其次,我认为您需要将您的三元组转换为该谓词可读的适当格式,例如,并使用如下调用:

 rdf_load('file.xml', [format(xml)]).
您可以使用它在n-triples和RDF/XML格式(以及其他格式)之间进行转换。

该库(semweb/RDF_db)可以通过几个插件进行扩展,以支持额外的 输入(URL、压缩、不同的三重格式)。值得注意的是:

  • 加载库(semweb/rdf_-turtle)使其可读.ttl(turtle)
  • 加载库(semweb/rdf_zlib_插件)使其能够处理.gz文件(压缩)
  • 加载库(semweb/rdf_http_插件)使其从http://url加载
  • 加载库(semweb/rdf_ntriples)使其加载ntriples格式 (仅随最新开发版本6.3.8一起提供)
该库(semweb/rdf_db)可以通过多个插件进行扩展,以支持其他功能 输入(URL、压缩、不同的三重格式)。值得注意的是:

  • 加载库(semweb/rdf_-turtle)使其可读.ttl(turtle)
  • 加载库(semweb/rdf_zlib_插件)使其能够处理.gz文件(压缩)
  • 加载库(semweb/rdf_http_插件)使其从http://url加载
  • 加载库(semweb/rdf_ntriples)使其加载ntriples格式 (仅随最新开发版本6.3.8一起提供)