You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

govdata.de SPARQL查询伪重复条目原因及去除方法

SPARQL查询govdata.de遇到的两个问题解答

一、标题伪重复(带@de与不带的差异)

  • @de的含义:这是RDF字面量的语言标签,@de表示该标题为德语版本。在DCAT规范中,dct:title这类字段支持多语言标注,用于区分不同语言的内容。
  • 重复原因:出现两个条目是因为数据存储存在冗余——一个是带语言标签的规范条目,另一个是未添加语言标签的遗留数据。而govdata.de网页门户做了去重处理,会自动合并同内容的多语言/无标签条目,所以仅显示一个。
  • 优化查询建议:若只想获取带德语标签的标题,可修改查询添加语言筛选:
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT DISTINCT *
WHERE {
    ?dataset a dcat:Dataset .
    ?dataset dct:title ?title .
    FILTER(LANG(?title) = "de")
    ?dataset dct:description ?description .
}

二、关联SPARQL的dataset与门户详情URL

govdata.de的门户详情URL采用固定前缀+数据集标识符的结构,可通过以下方式关联:

  • 获取数据集标识符:在SPARQL查询中加入dct:identifier ?id字段,?id的值通常就是详情URL最后一段的内容(如gerichte8e8c3、gerichte-2021-07-13)。
  • 示例查询:
PREFIX dcat: <http://www.w3.org/ns/dcat#>
PREFIX dct: <http://purl.org/dc/terms/>
SELECT DISTINCT ?dataset ?title ?id
WHERE {
    ?dataset a dcat:Dataset .
    ?dataset dct:title ?title .
    ?dataset dct:identifier ?id .
}
  • 拼接详情URL:将查询得到的?id值拼接到门户详情页前缀后,即可得到对应详情页面地址。
  • 补充说明:部分数据集的dcat:landingPage属性可能直接指向门户详情页,也可在查询中加入该字段验证:?dataset dcat:landingPage ?landingUrl。

内容的提问来源于stack exchange,提问作者Matteo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 13:37:21