如何使用Java在RDF三元组中实现OWL关系?

时间:2017-06-21 15:32:49

标签: java database rdf owl

我有两列实体(主题),我想像这样指定它们之间的关系:

<subject_1>  <relationship> <subject_2> 

我真正想要做的是在单词之间添加关系。例如,如果我有两个单词,如&#34; CAR&#34;和&#34; VEHICLE&#34;。运行程序后,它必须在它们之间生成semantic relationship,例如:

<car> <is_a> <vehicle>

现在,&#34; is_a&#34;是在单词之间语义定义的关系。我如何以及在哪里可以找到并获得所有这些关系,例如&#34; is_a&#34;,&#34; part_of&#34;等等,以便我可以在我的程序中使用它们。 (我希望到达一个数据库或API,其中定义所有这些关系,以便我可以运行两个单词来获得它们之间的关系。)

问题是我知道维基百科和WordNet API在主题之间定义了超过50000个关系。我浏览了整个互联网以达到这些关系,以便我可以实现它们,但我没有找到任何关系。有没有人知道如何实现这些关系或如何使用Java实现它们?

将非常感谢指向Github存储库的链接或其数据库的链接!

1 个答案:

答案 0 :(得分:0)

没有单一的中心位置定义所有关系,尽管有专门搜索(如Swoogle)或开放数据门户(如CKAN)的举措,可以帮助找到词汇表。

对于is-apart-of等基本数据建模关系,有RDFS,OWL和SKOS词汇表。他们有带文档的网站,当然它们本身也是作为RDF / OWL发布的,所以如果你需要它们可以从数据库访问,你可以轻松地将它们加载到你自己的三元组中并查询它们。

对于其他类型的关系,还有其他特定于域的本体。如果你想重复使用它们,你必须单独查找它们。这通常在实践中的作用是你有一个领域,然后你去搜索匹配的词汇:“我想模拟与书籍有关的关系 - 所以我想寻找书本体,或者也许图书馆本体论“。