Stackoverflow的新手,RDF和类型化依赖项的新手。但到目前为止,我得到的是:我目前正在使用Stanford解析器从Java程序中的句子中提取键入的依赖项。我想知道如何将这些类型化的依赖项转换为N-triples RDF格式?
稍后,我将把RDF写入Sesame存储库,但这是另一个问题。因此,我真正想问的是,如何将Stanford解析器类型的依赖项转换为RDF格式?我在Eclipse中用Java编写代码。
句子"John like coke“的类型依赖关系将是:
[nsubj(likes-2, John-1), root(ROOT-0, likes-2), dobj(likes-2, coke-3)]发布于 2015-05-13 08:40:28
将任何数据转换为RDF包括思考您想要表示的事物是什么,并提出它们的词汇表(或本体)。实际上,对于这个东西,可能有一个现有的词汇表可以重用,但为了这个问题,让我们假设您将创建自己的词汇表。
由于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编程。如果你遇到了什么问题,你可以写一个关于你的具体问题的后续问题。
https://stackoverflow.com/questions/30171920
复制相似问题