0

我有一个RDFS 本​​体,其中我有一个类Person 和另一个类Department 该类Person 有一个名为has_name 的属性和一个名为member_of 的属性,其中包含域Person 和范围Department。类 Department 有一个名为 dep_city 的属性和另一个名为 dep_name 的属性,它们都具有域 Department 和范围字面量。

我想创建一个查询,以便返回每个人的 has_name 值,该人是具有 dep_city = "New York" 的部门的 member_of。

我的问题是如何连接创建查询所需的两个类。

我可以返回所有具有 dep_city = "New York" 的部门的 dep_name

我也知道如何返回所有 Persons 的所有 has_name,但如果我可以将两者连接起来,我不知道。

请帮帮我谢谢!!

4

1 回答 1

2

我不知道你使用什么命名空间,所以我会使用http://example.org/

SELECT ?name
WHERE {
    ?person <http://example.org/has_name> ?name .
    ?person <http://example.org/member_of> ?department .
    ?department <http://example.org/dep_city> "New York"
}

顺便问一下,您是否阅读过SPARQL 1.1 查询规范?这是一个非常简洁的文档,有很多例子

于 2013-12-05T18:42:56.763 回答