重复三元组RDF

重复三元组RDF,rdf,duplicate-removal,remove-if,opendata,triples,Rdf,Duplicate Removal,Remove If,Opendata,Triples,我有个问题要问你 我想删除文件RDF中的重复三元组。 例如,我有两组RDF三元组: 三重1= rdf:Description rdf:about=”http://Group/row1" vocab:regione Campania/vocab:regione vocab:nome那不勒斯/vocab:nome那不勒斯 vocab:codice不适用/vocab:codice /rdf:描述 其中vocab:regione、vocab:nome和vocab:codice是谓词 三重2=

我有个问题要问你

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

三重1=

  • rdf:Description rdf:about=”http://Group/row1"
    • vocab:regione Campania/vocab:regione
    • vocab:nome那不勒斯/vocab:nome那不勒斯
    • vocab:codice不适用/vocab:codice
  • /rdf:描述
其中vocab:regione、vocab:nome和vocab:codice是谓词

三重2=

  • rdf:Description rdf:about=”http://Group/row1"
    • vocab:nome那不勒斯/vocab:nome那不勒斯
    • vocab:codice不适用/vocab:codice
  • /rdf:描述
其中vocab:nome和vocab:codice是谓词

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


提前感谢。

RDF是基于图的表示,图(从这个意义上说)是一组边。根据定义,集合没有重复的元素。当然,RDF图的特定序列化可能不止一次地描述同一个三元组,您可能希望避免这样做。关于术语,您称之为“Triple 1”的东西实际上是三个Triple:

你所谓的“三重2”实际上是两个三重:

group:row1  vocab:codice  "NA" .
group:row1  vocab:nome  "Napoli".
无论如何:(i)在数据中多次表示相同的三元组实际上不应该是一个问题;(ii)如果您想删除它,那么读入图形(使用几乎任何RDF处理工具)并再次将其写出来应该会给您一个没有重复信息的表示。例如,假设您有以下内容作为
data.rdf


坎帕尼亚
那不勒斯
NA
那不勒斯
NA
以下是当您使用Jena的
rdfcat
读入并再次写出时得到的信息:

$rdfcat data.rdf
坎帕尼亚
那不勒斯
NA

RDF是基于图的表示,图(从这个意义上讲)是一组边。根据定义,集合没有重复的元素。当然,RDF图的特定序列化可能不止一次地描述同一个三元组,您可能希望避免这样做。关于术语,您称之为“Triple 1”的东西实际上是三个Triple:

你所谓的“三重2”实际上是两个三重:

group:row1  vocab:codice  "NA" .
group:row1  vocab:nome  "Napoli".
无论如何:(i)在数据中多次表示相同的三元组实际上不应该是一个问题;(ii)如果您想删除它,那么读入图形(使用几乎任何RDF处理工具)并再次将其写出来应该会给您一个没有重复信息的表示。例如,假设您有以下内容作为
data.rdf


坎帕尼亚
那不勒斯
NA
那不勒斯
NA
以下是当您使用Jena的
rdfcat
读入并再次写出时得到的信息:

$rdfcat data.rdf
坎帕尼亚
那不勒斯
NA