嗨,我是本体的新手。我通过 Protege 软件开发了一个餐厅本体。但是我非常需要一个 SPARQL 查询来查找一个类的所有个体的属性值。
我想得到如下结果:
Angels_n_Gypsies
House #30, Rd No. 19/A, Dhaka 1213, Bangladesh
只需遵循属性值...
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
会告诉你为这个类的成员定义了哪些属性。因此,使用这些值来不断优化查询。