小编az_*_*az_的帖子

SPARQL 查询以从 RDF 数据中选择/构建最新版本

我有一个用于跟踪项目修订的 RDF 文件。使用这些数据,我可以追溯在整个生命周期中对项目所做的更改。一旦特定更改,相应的数据将作为新修订放置。看一看..

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix mymeta: <http://www.mymeta.com/meta/> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .

<urn:ITEMID:12345> rdf:type mymeta:item .
<urn:ITEMID:12345> mymeta:itemchange <urn:ITEMID:12345:REV-1> .
<urn:ITEMID:12345:REV-1> dc:title "Product original name"@en .
<urn:ITEMID:12345:REV-1> dc:issued "2006-12-01"@en .
<urn:ITEMID:12345:REV-1> dc:format "4 x 6 x 1 in"@en .
<urn:ITEMID:12345:REV-1> dc:extent "200"@en .

<urn:ITEMID:12345> rdf:type mymeta:item .
<urn:ITEMID:12345> mymeta:itemchange <urn:ITEMID:12345:REV-2> .
<urn:ITEMID:12345:REV-2> dc:title "Improved Product Name"@en .
<urn:ITEMID:12345:REV-2> dc:issued "2007-06-01"@en .
Run Code Online (Sandbox Code Playgroud)

根据这个数据,“2007-06-01”有一个项目修订,其中只有项目名称更改为“改进的产品名称”。如您所见,最新数据修订版中缺少“dc:format”和“dc:extent”。这是为了避免数百万条重复记录!

我可以编写一个 SPARQL 查询来显示最新的产品修订信息(REV-2:dc:title 和 dc:issued),但它缺少“dc:format”和“dc:extent”,我想从最后一个修订版 (REV-1)。

如何编写 SPARQL 查询来执行此操作?非常感谢任何帮助!

rdf sparql

5
推荐指数
1
解决办法
971
查看次数

标签 统计

rdf ×1

sparql ×1