我想用OpenRDF的芝麻在Java中創建一些語句及其反轉。我也跟着the tutorial in the Sesame 2.7 documentation。比方說,我已經創建瞭如下的URI和聲明,並將它們添加到庫芝麻:如何在Java中使用使用Openrdf的OWL.INVERSEOF
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工作臺,我看到下面的語句:
<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或芝麻,所以我不熟悉這些工具,但通常如果你有'apb'和'p owl:inverseOf q' ,你需要一個推理者來獲得三重「bqa」。你的系統中是否存在執行推理的內容? –
謝謝你的回覆。不,我沒有推理的表現。如何應用這個?請問你能賜教嗎?先謝謝你。 – user2864315