SPARQL 属性 路径

SPARQL property paths

我有以下RDF数据 (人、工作地点、分支机构) (分支机构、位置、城镇) (城镇,国家,国家)

和属性路径

worksAt, location, country

我可以在给定 属性 的情况下制定 SPARQL 查询吗?国家 它会 return 我最左边的 class (即人物)?

没有 属性 路径

SELECT ?person WHERE
{
  ?person :worksAt ?branch.
  ?branch :location ?town.
  ?town :country :?country.
}

具有 属性 个路径

使用序列路径 defined as:

elt1 / elt2 A sequence path of elt1, followed by elt2

SELECT ?person WHERE
{
  ?person :worksAt/:location/:country ?country.
}

我不明白你所说的“给定一个 属性 例如国家”是什么意思,你是指一个特定的实例吗?例如,如果此人应在德国工作,您可以将 ?country 替换为 :Germany

这些示例假定您的属性只有一个 class 作为域,例如只有人才能在某个地方工作。否则你必须添加 ?person a :Person. 等等。