我有下图
@prefix : <http://example.org/> .
:JupiterAtmsphere :isComposedOf :Nitrogen.
:JupiterAtmsphere :isComposedOf :Helium.
:EarthAtmosphere :isComposedOf :Nitrogen.
:comet_1 :hasDiscoverer :JohnSmith.
:comet_5 :hasDiscoverer :JohnSmith.
:comet_3 :hasDiscoverer :JaneLee.
我想返回由多个主题共享的所有谓词和对象。该查询试图回答以下问题:哪些“主体”共享“客体”?我希望查询返回:Nitrogen 作为 :JupiterAtmspher 和 :EarthAtmspher 共享的对象,以及 :JohnSmith 作为 :comet_1 和 :comet_5 共享的对象 然而,挑战在于我希望查询是通用的(无需事先了解图形的主题、谓词或对象)。换句话说,我正在设计一个通用的查询,并且可以应用于不同的本体,而不管它们的词汇量如何。
我尝试了以下查询,但没有得到预期的结果:
SELECT ?class1 ?class2 ?p1 ?o
WHERE {
?class1 ?p1 ?o.
?class2 ?p2 ?o.
FILTER (?p1 = ?p2)