RDF 是基于图的表示,而图(在这个意义上)是一组边。根据定义,集合没有重复的元素。当然,RDF 图的特定序列化可能会多次描述同一个三元组,并且您可能希望避免这种情况。作为术语说明,您所谓的“三元组 1”实际上是三个三元组:
group:row1 vocab:codice "NA" .
group:row1 vocab:nome "Napoli".
group:row1 vocab:regione "Campania".
而你所谓的“三元组 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's 读它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>