我正在尝试使用 OpenRDF 的 Sesame 在 Java 中创建一些语句及其逆语句。我也在关注Sesame 2.7 文档中的教程。假设我创建了以下 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
。我做这个逆向的方式是错误的还是我误解了这个概念?非常感谢您提前提供的帮助。