給定此數據,其中每個人可以選擇具有「智能」謂詞,並且每個部門可能有零個或多個人,我需要查找僅包含聰明的人。結果應該只包括部門1和2.理想情況下,結果還應包括每個部門的「智能」對象。謝謝!SPARQL:查找所有子對象與條件匹配的對象
person:A p:type 'p' ;
p:smart 'yes' .
person:B p:type 'p' ;
p:smart 'maybe' .
person:C p:type 'p' .
department:1 p:type 'd' ;
p:has person:A, person:B .
department:2 p:type 'd' ;
p:has person:B .
department:3 p:type 'd' ;
p:has person:B, person:C .
department:4 p:type 'd' .
我真的很喜歡這個解決方案!我想知道哪一個通常更快,但也許沒有太大的差別。當我有時間的時候,我會嘗試一些小的「基準」。乾杯 – AKSW
我應該指出,這個解決方案依賴於每個人最多帶來一個智能價值。要解決更復雜的案例並不難,但它們不太漂亮(聚合/有條件變得更長)。至於速度,我懷疑大多數理智的商店沒有太大的區別(即他們按照正常的順序進行過濾器連接),但是測試會很有趣。 – user205512
至少現在你的答案是被接受的答案,所以也許有一些優點。知道哪些是有趣的:D – AKSW