簡體   English   中英

SPARQL選擇變量前綴“?”和“ $”

[英]SPARQL Select Variable Prefix “?” and “$”

根據規范,使用“?”絕對沒有區別。 和“ $”變量前綴字符,即使在混合和匹配時也是如此。 例如,這是完全合法的:

SELECT  $title
WHERE   { <book1>  dc:title  ?title }

SPARQL文檔甚至可以添加以下內容:

查詢變量通過使用“?”標記 或“ $”; “?” 或“ $”不是變量名的一部分。 在查詢中,$ abc和?abc標識相同的變量

有人知道為什么他們創建了兩種冗余方式為變量添加前綴嗎? 直到今天,我在瀏覽語法的生產規則時甚至都不知道“ $”。 使用“?” 現在非常普遍,似乎“ $”只是字符的詞匯浪費。

SPARQL的原始草案僅使用“?”開始 (IIRC取自SPARQL的前一種語言RDQL)。 引入“ $”的原因之一是,當時W3C SPARQL工作組預見到將使用現有的ODBC / SQL工具來處理SPARQL查詢。 由於“?” 是一個在SQL中具有明顯保留含義的字符,可以認為應該允許使用替代名稱或同義詞來更好地促進通過ODBC連接進行SPARQL查詢。 有關更多詳細信息,請參見此郵件列表討論

至於為什么工作組標准化了允許兩者使用 (而不是完全取代對“?”的使用):進行了表決,所以有幾位成員反對刪除“?”。 完全(大概因為不是每個人都對ODBC參數感到信服),所以兩者都是妥協的。

暫無
暫無

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

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