簡體   English   中英

SPARQL查詢烏龜文件,圖中有空白節點

[英]SPARQL query turtle file with blank nodes in the graph

我正在嘗試正確理解turtle中的空白節點,並且我需要知道是否正確理解了它們。

假設我們有一個烏龜文件:

@prefix sn: <....some uri...> .
_:a sn:name "person1";
sn:email "email1@test.com" .
_:b sn:name "person2";
sn:email "email2@test.com" .
_:c sn:name "person3" .

我們有SPARQL查詢:

PREFIX sn: <...some uri...>
SELECT ?email WHERE {
?x sn:name "person1" .
?x sn:email ?email .
}

這只會返回人1的電子郵件,因為?x綁定到空白節點標簽_:a ...所以我的問題是,未定義變量?x仍可以綁定到具有標簽的空白節點,就像它一樣如果不為空,則將...在此示例中,返回值為:

      email
--------------------------
<mailto:email1@test.com> |

正確嗎? 謝謝。

您猜對了:在兩種情況下(並且正如我所說,您在兩個示例之間並沒有真正的區別),答案只能是第1個人的電子郵件。

從SPARQL的角度來看,空白節點是一種資源,就像其他資源一樣,它將以完全相同的方式將變量綁定到空白節點。 因此,在上面的示例中,由於我們知道這兩個語句使用相同的空白節點作為其主題(因為它們使用相同的標簽),因此SPARQL會將它們視為大致相同的主題。

一個警告:您使用的SPARQL引擎/三元組存儲極有可能不會保留特定的空白節點ID a :將數據添加到三元組存儲中時,它將被某些生成的內部ID取代。 但是,三重存儲區當然會確保文件中兩次出現的a都被完全相同的生成ID取代。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM