我有一个RDF,其中包含我从数据模型生成的多个资源。因为每个资源都是单独添加(连接)的,所以我有多个前缀(在N3中)。它看起来像这样:
@prefix dc: <someURL>.
<someURL/Tony_Benn>
dc:title "Tony Benn";
dc:publisher "Wikipedia".
@prefix dc: <someURL>.
<someURL/Someone_Else>
dc:title "Someone Else";
dc:publisher "Wikipedia".
我正在使用Jena API来创建RDF,但是我已经在API周围编写了一个包装器来保持它的不连接。是否有更好的方法来解决这个问题,或者是否有方法删除重复的前缀?
如果您正在使用实用程序(例如,Jena的rdfcat
来连接RDF文档,那么您就没有什么可担心的。前缀只是让读写变得更容易一些,但是支持rdf的工具并不在乎这些。如果能够使用基于文本的工具(即不支持rdf的工具)连接数据很重要,那么您可能应该使用N-Triples格式。很简单,只要
subject predicate object .
,每行一个三元组。由于没有提供前缀,所以文本连接可以简单地工作。N-Triples还有一个(更好的)特性,如果你需要分割一个文档,例如,为了分布式处理,你可以分割文件,只要你在换行处分割。对于N3、RDF/XML和其他更复杂的格式,这是不可能的。
谢谢@Joshua。我想了想。与其删除重复的条目,我认为最好一开始就不要它。我发现与其连接两个RDF文档,不如将各自的模型联合起来。因此,我是这样做的:
我发现这更容易,可预测和处理前缀更好。我也可以使用Notation3