gpt4 book ai didi

sparql - 如何使用 Jena 查询/更新远程 RDF 端点

转载 作者:行者123 更新时间:2023-12-04 02:36:29 24 4
gpt4 key购买 nike

我想通过 http 将更新发送到远程端点。我发现 joseki 充当这样的端点。

但是,如果我只知道端点的 uri,我该如何向该端点发送更新查询?

// To do a select-query you can use this:
QueryExecution qe = QueryExecutionFactory.sparqlService(serviceURI, query);

// (Sidenote:) does the next line have the desired effect of setting the binding?
// After all, sparqlService has no alternative with initialBindang as parameter
qe.setInitialBinding(initialBinding);

result = qe.execSelect();

// But updates do not support this kind of sparqlService method
// Illegal:
// UpdateAction.sparqlServiceExecute(serviceURI, query);
// I can use the following:
UpdateAction.parseExecute(updateQuery, dataset, initialBinding);
// But dataset is a Dataset object, not the uri.

// I don't believe this is the correct way to overcome this:
Dataset dataset = DatasetFactory.create(serviceURI);

否则我想听听如何对仅知道 URI 的端点进行远程更新查询。

更新:求助于本地jena到底。这种 RDF 端点接受插入和删除语句。我没有成功找到可以接受修改查询的远程 RDF 端点。

最佳答案

Otherwise I would like to hear how to do remote update queries to endpoints for which only the URI is known.

根据端点服务器,处理方式略有不同。有草稿sparql/update协议(protocol)。但由于它是草案,而且相当新的支持有点变体。

通常,您可以像编写 SQL 插入或更新语句一样编写 sparql 更新查询。

更新命令有 Modify、Insert、Delete、Load、Clear,但不是每个实现都支持所有这些。

由于端点通常是公开的,因此在允许操作之前通常需要进行一些身份验证,这在规范中没有定义,因此是特定于实现的。

建议更新语句使用不同的 URL,以便可以使用 http 身份验证。 4store,使用/sparql 进行查询,使用/update 进行更新查询。

W3C 草案有一些 examples如何构建 sparql 更新查询。

关于sparql - 如何使用 Jena 查询/更新远程 RDF 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3493238/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com