栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

通过Java代码插入一些数据时Sparql查询不会更新

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

通过Java代码插入一些数据时Sparql查询不会更新

如果您提供了一个最小的完整示例,那就很有帮助,例如,您包括了Fuseki配置以及有关如何将OWL文件加载到Fuseki中的详细信息。

但是,我假设您没有使用任何特定的配置,而是像这样启动Fuseki:

java -jar fuseki-server-VER.jar --update --loc /path/to/db /ds

因此,您要做的是启动Fuseki,启用更新并使用该位置

/path/to/db
作为磁盘上的TDB数据库位置和
/ds
数据集的URL 。

您打开浏览器并单击

Control Panel >/ds
,然后使用上载文件功能上载OWL文件。上传文件时,该文件将被读入Fuseki中并复制到数据集中,在本示例中,您的数据集是磁盘上的TDB数据库,位于
/path/to/db

重要的是要理解,因为Fuseki只是 将* 数据从文件 复制 到数据集,所以 不保留对原始文件的引用*

然后,您可以使用SPARQL
Update表单添加一些数据(或者,您可以通过Java代码执行此操作)。在此示例中,更新适用于要重复的数据集,该数据集是磁盘TDB数据库,

/path/to/db
该数据库上
没有 引用原始文件。因此,您的原始文件不会更改。

使用SPARQL Update更新原始文件

如果Fuseki不是必需的,那么您可以将文件加载到本地内存中,然后在该内存中运行更新:

Model m = ModelFactory.createDefaultModel();m.read("example.owl", "RDF/XML");// Prepare your update...// Create an UpdateExecution on the local modelUpdateProcessor processor = UpdateExecutionFactory.create(update, GraphStoreFactory.create(m));processor.execute();// Save the updated model updated.write(new FileOutputStream("example.owl"), "RDF/XML");

但是,如果您想/必须使用Fuseki,则可以通过从Fuseki检索修改后的图形并将其写回到文件中来更新原始文件,例如

DatasetAccessor accessor = DatasetAccessorFactory.createHTTP("http://localhost:3030/ds/data");// Download the updated modelModel updated = accessor.getModel();// Save the updated model over the original fileupdated.write(new FileOutputStream("example.owl"), "RDF/XML");

本示例假定您已将OWL文件加载到默认图形中(如果未使用

getModel("http://graph")
重载来加载相关的命名图形)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/509454.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号