【问题标题】:How to exclude resources with a specific rdf:type from SPARQL results?如何从 SPARQL 结果中排除具有特定 rdf:type 的资源?
【发布时间】:2014-06-11 15:46:10
【问题描述】:

我有在它上面运行的查询 SPARQL.dbpedia.org/sparql:

select ?resource where {
  ?resource rdfs:label "Piemonte"@it
}

我得到这个结果:

http://it.dbpedia.org/resource/Categoria:Piemonte
http://it.dbpedia.org/resource/Piemonte

我希望只有http://it.dbpedia.org/resource/Piemonte 结果。我正在尝试编写此查询 SPARQL 以从结果中删除 http://it.dbpedia.org/resource/Categoria:Piemonte

select ?resource where {
  ?resource rdfs:label "Piemonte"@it
  FILTER (rdf:type != skos:Concept)
}

因为我注意到http://it.dbpedia.org/resource/Categoria:Piemonte 有对象skos:Concepthttp://it.dbpedia.org/resource/Piemonte 没有,但我得到了相同的结果。为什么?我在这里做错了什么?

我也尝试添加LIMIT 1,但结果是http://it.dbpedia.org/resource/Categoria:Piemonte,因为不能保证结果的顺序相同。

【问题讨论】:

    标签: java rdf sparql semantic-web rdfs


    【解决方案1】:

    使用像FILTER (rdf:type != skos:Concept) 这样的过滤器,您只是在询问两个常量是否不相等。 URI rdf:typeskos:Concept 当然是不同的。

    您想要的是没有属性skos:Concept 的值rdf:type 的资源。您会通过?resource rdf:type skos:Concept 表明它确实具有该功能。因此,您的查询只需要一个过滤器来确保数据中不存在该三元组。在意大利语 DBpedia 上,您可以询问以下内容并仅返回一个结果。

    select ?resource where {
      ?resource rdfs:label "Piemonte"@it
      filter not exists { ?resource rdf:type skos:Concept }
    }
    

    SPARQL results

    【讨论】:

    • 有效!我有另一个问题。如果我写这个查询: prefix rdfs: w3.org/2000/01/rdf-schema#> prefix skos: w3.org/2009/08/skos-reference/skos.html#> prefix rdf: w3.org/1999/02/22-rdf-syntax-ns#> select ?resource where { ?resource rdfs:label "Piemonte"@it filter not exists { ? resource rdf:type skos:Concept } } 我得到这个 SPARQL 结果:it.dbpedia.org/resource/Categoria:Piemonteit.dbpedia.org/resource/Piemonte 为什么?两个查询有什么区别?我只添加了前缀!
    • 我是这样解决的:prefix rdfs: w3.org/2000/01/rdf-schema#> prefix skos: w3.org/2004/02/skos/core#> prefix rdf: w3.org/1999/02/22-rdf-syntax-ns#> select ?resource where { ?resource rdfs:label " Piemonte"@it 过滤器不存在 { ?resource rdf:type skos:Concept } } 我弄错了 skos 前缀。
    • @Musich87 评论用于请求澄清问题/答案,如果您有新问题,请将其作为新问题链接回原始问题作为相关参考
    猜你喜欢
    • 2022-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多