检索所有 DBpedia 资源属性



我正在使用此SPARQL查询来检索资源的所有属性,例如,资源 http://dbpedia.org/resource/Suez 此查询不会检索 http://dbpedia.org/page/Suez 中的所有属性,我知道该页面与资源不同。

如何检索 html 页面中的所有属性?

这是我没有前缀的查询:

SELECT DISTINCT ?property ?Label  
WHERE 
{ 
    { 
      <http://dbpedia.org/resource/Suez> ?property ?o .
    } union 
    {
       ?o ?property  <http://dbpedia.org/resource/Suez>  
    } 
    ?property rdfs:label ?Label.  
    FILTER (lang(?Label) = 'en').  
}

你没有提到你没有看到哪些属性,但你要求每个属性实际上都有一个rdfs:label 的值,但并非所有属性都有。 例如,此查询返回 16 个结果:

select distinct ?property {
  { dbr:Suez ?property ?o }
  union
  { ?s ?property dbr:Suez }
  filter not exists { ?property rdfs:label ?label }
}

SPARQL结果

您需要更新查询以检查属性是否具有标签,然后获取英文标签(如果有):

select distinct ?property ?label {
  { dbr:Suez ?property ?o }
  union
  { ?s ?property dbr:Suez }
  optional { 
    ?property rdfs:label ?label .
    filter langMatches(lang(?label), 'en')
  }
}

SPARQL结果

以下 sparql 查询将显示资源苏伊士的所有属性和值。

select distinct ?property ?value{
  dbr:Suez ?property ?value
}

SPARQL结果

您可以使用链接 Suez 将上述查询的结果与通过任何 Web 浏览器提供的实际资源属性进行比较。

关于上述查询的结果,请注意如下:

  1. 具有多个值的属性将显示多次。例如,属性"dct:subject"有八个不同的值,因此将在结果中显示八次。

  2. "dbo:abstract"将在不同语言的摘要结果中多次显示。

希望对您有所帮助。

干杯安比。

最新更新