重复三元组​​RDF

时间:2014-04-23 10:29:34

标签: rdf duplicate-removal remove-if opendata triples

我有一个问题。

我想删除文件RDF中的重复三元组​​。 例如,我有这两个三元组的RDF组:

  

Triple 1 =

  • rdf:说明rdf:about =“http:// Group / row1”
    • vocab:regione Campania / vocab:regione
    • vocab:nome Napoli / vocab:nome
    • vocab:codice NA / vocab:codice
  • / RDF:说明

其中vocab:regione,vocab:nome和vocab:codice是谓词。

  

Triple 2 =

  • rdf:说明rdf:about =“http:// Group / row1”
    • vocab:nome Napoli / vocab:nome
    • vocab:codice NA / vocab:codice
  • / RDF:说明

其中vocab:nome和vocab:codice是谓词。

在这种情况下,“Triple2”包含在“Triple1”中。是否应删除“Triple2”?

提前致谢。

1 个答案:

答案 0 :(得分:4)

RDF是基于图形的表示,图形(在这个意义上)是边的。根据定义,集合没有重复的元素。当然,RDF图的特定序列化可以不止一次描述相同的三元组,并且可能有理由要求您避免这种情况。作为关于术语的说明,你称之为“Triple 1”的东西实际上是三个三元组:

group:row1  vocab:codice  "NA" .
group:row1  vocab:nome  "Napoli".
group:row1  vocab:regione "Campania".

你所谓的“Triple 2”实际上是两个三元组:

group:row1  vocab:codice  "NA" .
group:row1  vocab:nome  "Napoli".

无论如何:(i)在您的数据中多次表示相同的三元组实际上不应该是一个问题; (ii)如果你想删除它,那么读取图表(几乎任何RDF处理工具)并再次写出来应该给你一个没有重复信息的表示。例如,假设您有以下data.rdf

<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:group="http://stackoverflow.com/q/23241612/1281433/group/"
    xmlns:vocab="http://stackoverflow.com/q/23241612/1281433/vocab/">
  <rdf:Description rdf:about="http://stackoverflow.com/q/23241612/1281433/group/row1">
    <vocab:regione>Campania</vocab:regione>
    <vocab:nome>Napoli</vocab:nome>
    <vocab:codice>NA</vocab:codice>
  </rdf:Description>
  <rdf:Description rdf:about="http://stackoverflow.com/q/23241612/1281433/group/row1">
    <vocab:nome>Napoli</vocab:nome>
    <vocab:codice>NA</vocab:codice>
  </rdf:Description>
</rdf:RDF>

以下是您使用Jena的rdfcat阅读时所得到的内容,然后再将其写出来:

$ rdfcat data.rdf
<rdf:RDF
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:group="http://stackoverflow.com/q/23241612/1281433/group/"
    xmlns:vocab="http://stackoverflow.com/q/23241612/1281433/vocab/">
  <rdf:Description rdf:about="http://stackoverflow.com/q/23241612/1281433/group/row1">
    <vocab:regione>Campania</vocab:regione>
    <vocab:nome>Napoli</vocab:nome>
    <vocab:codice>NA</vocab:codice>
  </rdf:Description>
</rdf:RDF>