Stackoverflow新手,是RDF和类型依赖项的新手。但到目前为止我得到的是:我目前正在使用Stanford解析器从Java程序中的句子中提取类型依赖项。我想知道如何将这些类型的依赖项转换为N-triples RDF格式?
稍后我会将RDF编写到Sesame存储库,但这是另一个问题。所以我真正想问的是如何将斯坦福解析器类型依赖项转换为RDF格式?我在Eclipse中用Java编写代码。
句子“John喜欢可乐”的类型依赖关系将是:
sinon.spy()
答案 0 :(得分:0)
将任何数据转换为RDF包括考虑您想要表达的内容,以及为它们提供词汇表(或本体)。实际上可能存在一个可以重复使用的存在的vocbulary,但是出于这个问题的目的,让我们假设你会创造自己的词汇。
由于RDF中的每个词汇表都是一个URI,我们首先需要一个命名空间。现在,让我们选择http://example.org/stanford
(前缀sp
)。我们需要词汇术语来使某些事物成为依赖关系,声明特定类型的依赖关系,以及表达构成依赖关系的句子片段之间的关系。为了简单起见,您给出的特定句子片段示例可以在RDF中建模,如下所示:
@prefix sp: <http://example.org/stanford/>
@prefix : <http://example.org/>
:nsubj1 a sp:NominalSubject;
sp:governor :likes-2;
sp:dependent :john-1 .
:s1 a sp:Root ;
sp:dependent :likes-2 .
:dobj1 a sp:DirectObject ;
sp:governor :likes-2;
sp:dependent :coke-3.
等。
为了在Java / Sesame中实现这一点,您应该编写一些从Stanford Parser读取输入的内容,并根据具体情况将每个依赖项转换为等效的RDF术语(提示:声明可能是一个好主意)您的RDF术语的一些常量),然后通过Sesame的Rio解析器/编写器直接写入磁盘,随时建立内存模型,甚至创建一个简单的存储库(基本上是数据库),您可以在其中添加RDF数据。
我建议您尝试一下,使用一些现有的教程/文档来开始使用Sesame进行编程。如果你卡在某个地方,你可以根据你的具体问题写一个后续问题。