此查询的正确SPARQL版本是什么?

此查询的正确SPARQL版本是什么?,sparql,dbpedia,Sparql,Dbpedia,我正试图通过SPARQL在DBPedia.org上运行一个查询。基本上,我想做的是: 获取DBPedia资源链接的列表 其中 姓名(http://xmlns.com/foaf/0.1/name)等于参数1 或dbpprop:companyName(http://dbpedia.org/property/companyName)等于参数1 或dbpprop:name(http://dbpedia.org/property/name)等于参数1 和 rdf:类型(http://www.w3

我正试图通过SPARQL在DBPedia.org上运行一个查询。基本上,我想做的是:

  • 获取DBPedia资源链接的列表
其中

  • 姓名(http://xmlns.com/foaf/0.1/name)等于参数1
  • 或dbpprop:companyName(http://dbpedia.org/property/companyName)等于参数1
  • 或dbpprop:name(http://dbpedia.org/property/name)等于参数1

  • rdf:类型(http://www.w3.org/1999/02/22-rdf-syntax-ns#type)等于参数2
  • 或dbpediaowl:type(http://dbpedia.org/ontology/type)等于参数2
我自己也试过这样做,但完全没有取得任何成功

任何帮助都将不胜感激-谢谢

编辑: 以下是我一直在研究的一个问题:

SELECT ?s
WHERE {
    {
      ?s <http://xmlns.com/foaf/0.1/name> "Google Inc." .
    } UNION {
      ?s <http://dbpedia.org/property/companyName> "Google Inc." .
    } UNION {
      ?s <http://dbpedia.org/property/name> "Google Inc." .
    }

    {
      ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Company> .
    } UNION {
      ?s <http://dbpedia.org/ontology/type> <http://dbpedia.org/resource/Public_company> .
    }
}
SELECT?s
在哪里{
{
“谷歌公司”。
}联合{
“谷歌公司”。
}联合{
“谷歌公司”。
}
{
s
}联合{
s
}
}

您几乎已经拥有了它,唯一的问题是DBPedia中的属性值使用语言标记,您的查询将查找具有纯文本值的名称。此查询适用于我:

SELECT DISTINCT ?s
WHERE {
    {
      ?s <http://xmlns.com/foaf/0.1/name> "Google Inc."@en .
    } UNION {
      ?s <http://dbpedia.org/property/companyName> "Google Inc."@en .
    } UNION {
      ?s <http://dbpedia.org/property/name> "Google Inc."@en .
    }

    {
      ?s <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Company> .
    } UNION {
      ?s <http://dbpedia.org/ontology/type> <http://dbpedia.org/resource/Public_company> .
    }
}
选择不同的
在哪里{
{
?s“谷歌公司”@en。
}联合{
?s“谷歌公司”@en。
}联合{
?s“谷歌公司”@en。
}
{
s
}联合{
s
}
}

请注意,我添加了一个
DISTINCT
,以消除当资源具有多个值时出现的重复答案,例如,对于
foaf:name
dbpprop:companyName

,使用值可以更清晰地编写此答案。您可以使用指定可能标识名称的属性。此外,没有dbpprop:type的资源值(至少不再有);最好坚持使用rdf:typedbpedia-owl:Company。这意味着您的查询可以变成:

选择不同的位置{
值?名称{foaf:name dbpprop:companyName dbpprop:name}
?是一家数据库猫头鹰公司;
?名称“谷歌公司”@en。
}

你能发布你尝试过的查询吗?嗨,亚历克斯,我发布了一个我一直在处理的查询。