2

嗨,我是本体的新手。我通过 Protege 软件开发了一个餐厅本体。但是我非常需要一个 SPARQL 查询来查找一个类的所有个体的属性值。

门生截图

我想得到如下结果:

Angels_n_Gypsies
House #30, Rd No. 19/A, Dhaka 1213, Bangladesh

图形图像

4

1 回答 1

7

只需遵循属性值...

SELECT ?rname ?lname
WHERE {
   ?inst a :Popular_restaurant .
   ?inst :restaurant_name ?rname .
   ?inst :Location_name ?lname .
}

但这只是最终结果。理解 SPARQL 的一种方法是学究式地开始。例如:

SELECT ?inst
WHERE {
   ?inst a :Popular_restaurant .
}

这会让你成为班级的所有成员:Popular_restaurant。然后查找为每个成员定义的属性:

SELECT ?inst ?p ?o
WHERE {
   ?inst a :Popular_restaurant .
   ?inst ?p ?o .
}

绑定p会告诉你为这个类的成员定义了哪些属性。因此,使用这些值来不断优化查询。

于 2016-04-20T19:42:01.990 回答