gpt4 book ai didi

java - 如何在 Java 中使用 Openrdf 来使用 OWL.INVERSEOF

转载 作者:行者123 更新时间:2023-12-02 06:13:23 26 4
gpt4 key购买 nike

我正在尝试使用 OpenRDF 的 Sesame 在 Java 中创建一些语句及其逆。我正在关注the tutorial in the Sesame 2.7 documentation以及。假设我已经创建了以下 URI 和语句并将它们添加到 Sesame 存储库:

RepositoryConnection connection;
ValueFactory factory = ValueFactoryImpl.getInstance();
Resource author_1 = new createURI("http://www.author.org/author_1");
Resource article_1 = new createURI("http://www.title.org/article_1");
URL wrote = factory.createURI("http://www.paper.org/wrote");
URL writtenby = factory.createURI("http://www.paper.org/writtenby");
Statement statement_1 = factory.createStatement(author_1, wrote, article_1);
connection.add(statement_1);

上面的代码用于创建一个声明来描述作者写了一篇文章。在OpenRDF Workbench中,我可以看到这样的说法。我想做的是使用 OWL.INVERSEOF 进行逆操作得到那个article_1写者 author_1如下:

connection.add(writtenby, OWL.INVERSEOF, wrote);

当我运行该项目并返回 OpenRDF Workbench 时,我看到以下语句:

<http://www.author.org/author_1>, http://www.paper.org/wrote, http://www.title.org/article_1>
<http://www.paper.org/writtenby>, <http://www.w3.org/2002/owl#inverseOf>, <http://www.paper.org/wrote>

当我点击<http://www.paper.org/writtenby>时,我找不到 article_1 is written by author1 的逆语句但我可以找到author_1 wrote article_1 。我做这个相反的方法是错误的还是我误解了这个概念?非常感谢您提前提供的帮助。

最佳答案

正如约书亚所说。 OpenRDF/Sesame 不支持这种推理。我认为它在加载期间仅支持某种基本的 RDF/S 推理。我认为它(仍然)不支持自定义规则。

您可以通过使用 Sesame 来实现您的要求 OWLIM 。 OWLIM-Lite 和 OWLIM-SE 支持 OWL 推理(基于规则、前向链接、物化)。有多个predefined rule sets supported by OWLIM 。您可能需要 owl-max

根据您想要实现的目标,您可能需要使用真正的 OWL 推理器,例如 Pellet。但是,Sesame 不支持 Pellet...

关于java - 如何在 Java 中使用 Openrdf 来使用 OWL.INVERSEOF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21686444/

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