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.
等等。
我有以下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.
等等。