这个SPARQL查询中星号的含义是什么?
SELECT ?uri ?type
WHERE{
?uri a ?type.
?type rdfs:subClassOf* example:Device.
}
是否意味着“子类的子类”? 我可以将它与其他谓词一起使用吗?
答案 0 :(得分:2)
路径元素后面的星号(*)表示“此元素为零或更多”。
如果路径中没有其他元素,那么*?b意味着?b也可能只是?a,它们之间根本没有路径元素。
?item wdt:P31/wdt:P279* ?class.
# means:
?item wdt:P31 ?class
# or
?item wdt:P31/wdt:P279 ?class
# or
?item wdt:P31/wdt:P279/wdt:P279 ?class
# or
?item wdt:P31/wdt:P279/wdt:P279/wdt:P279 ?class
如果路径中没有其他元素,?某个东西*?b表示?b也可能只是?a,它们之间根本没有路径元素。有关更详细的答案,请参阅here。