RDF4J工作台添加RDF:如何添加多个文件?

RDF4J工作台添加RDF:如何添加多个文件?,rdf,owl,sesame,rdf4j,Rdf,Owl,Sesame,Rdf4j,我正在使用RDF4J工作台2.1.2 System Information Application Information Application Name RDF4J Workbench Version 2.1.2 Runtime Information Operating System Windows 10 10.0 (amd64) Java Runtime Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (1.8.

我正在使用RDF4J工作台2.1.2

System Information
Application Information
Application Name    RDF4J Workbench
Version 2.1.2
Runtime Information
Operating System    Windows 10 10.0 (amd64)
Java Runtime    Oracle Corporation Java HotSpot(TM) 64-Bit Server VM (1.8.0_111)
Process User    gwcox
Memory
Used    315 MB
Maximum 889 MB
我有一组RDF文件,其中包含我正在研究的本体。一些RDF文件导入其他文件。例如,我的实例化本体/RDF文件导入定义我的类和关系的几个本体

RDF文件存储在本地,而不是用于标识它们的URI。在开发和调试过程中,我经常需要清除我的存储库并重新加载我的本体。目前,需要加载六个本体才能实现全部功能

如何将存储为本地文件的多个本体加载到RDF4J工作台的活动存储库中?我可以使用RDF4J工作台本身或命令行脚本来进行加载。我知道我可以多次从工作台手动使用Modify/Add命令,但我希望将其减少为一个命令以节省时间并避免错误


谢谢。

RDF4J工作台本身没有一次性添加多个文件的功能

但是,如果这是需要重复执行的内容,一种简单的方法是使用控制台,并为其编写一个简短的批处理脚本。脚本只是一个文本文件,包含连续的控制台命令(每行一个)。例如:

open myRepository
clear
load /path/to/file1.rdf into urn:context1
load /path/to/file2.rdf into urn:context2
然后,您只需执行以下操作(从命令行):

实现所需的另一种方法是使用curl,并通过其服务器直接访问RDF4J服务器。例如,要使用curl将Turtle文件上载到存储库,您可以执行以下操作:

curl -X POST -H "Content-type: text/turtle" --data-binary @file.ttl http://localhost:8080/rdf4j-server/repositories/myRepo/statements

最后,您当然还可以编写一个简短的Java程序,使用与服务器通信

为了详细说明Jeen Broekstra的答案,我将使用控制台脚本。下面是我的特定脚本(
loadmyonologies.txt
):

注意,我已经将Apache Tomcat服务器运行的端口更改为8088

当然,其他人的版本在存储库的名称(opencommand参数)和本体的路径上会有所不同

随着我使用的本体数量的增加,我将添加更多的
load
命令。另外,我在默认的上下文/图形中工作,因此我省略了Jeen包含的可选
urn:context

由于我使用的是Windows 8,因此我通过一个简单的批处理(
loadMyOntologies.bat
)文件访问上述内容:

.\console.bat < loadMyOntologies.txt
我已经在RDF4J workbench中确认,我可以将此脚本与工作台中的工作相结合,并且该脚本将为我节省大量时间,特别是当我结合更多的本体来解决更大的问题时


如果您非常关注,您可能会注意到本例中RDF4J的版本(2.0.1)比我最初发布的版本(2.1.2)旧。我将在另一台尚未更新的机器上完成,但它可以工作!我确信这个解决方案也适用于我另一台机器上的较新版本。

正是我想要的。谢谢Jeen Broekstra!我相信现在我将从控制台脚本开始。整个过程最终可能会发展为Java驱动,因此我最终可能会选择第三种方法。只是为了澄清一下:使用您的方法,我如何能够绕过与控制台的许多基于对话框的交互?说:在编写脚本之前,我只想运行drop x,创建本机x?@matentzn只需在脚本中列出这些交互的答案,每行一个。它会把它捡起来的。
connect "http://localhost:8088/rdf4j-server"
open TakeRDF4J4SPIN
clear
load "C:\Users\Greg\TBCFreeWorkspace\NSC_2025_Sharing\soo.rdf"
load "C:\Users\Greg\TBCFreeWorkspace\NSC_2025_Sharing\Instantiations.rdf"
exit
.\console.bat < loadMyOntologies.txt
c:\Users\Greg\...\eclipse-rdf4j-2.0.1\bin