簡體   English   中英

如何通過SPARQL查詢提取RDF文字?

[英]How to extract RDF literals via SPARQL query?

假設我們有一個數據集,但不知道,但是有一個公共的SPARQL端點。 我想發出SPARQL查詢/查詢,該查詢/查詢將返回此數據集中的所有文字值。 這個查詢看起來如何?

我需要這樣做的原因是,我打算對許多數據集使用相同的查詢。 因此,我不需要瀏覽每個單詞就知道它們用於文字的詞匯。

另外,不確定這是否是正確的,但對我來說聽起來很合理,我相信這些端點具有某種安全措施,因此不會對它們執行長時間運行的查詢。 有沒有一種方法可以使用LIMIT N返回這些文字。因此,我通過一個查詢將這些文字N乘N,而不是所有文字?

假設我們有一個數據集,但不知道,但是有一個公共的SPARQL端點。 我想發出SPARQL查詢/查詢,該查詢/查詢將返回此數據集中的所有文字值。 這個查詢看起來如何?

您可以通過將isLiteral函數與filter一起使用來檢查某物是否為文字。 文字只能出現在三元組的對象位置,因此,如果僅獲取每個三元組並檢查對象是否為文字,則將獲取所有文字。 由於某些文字可能會出現多次,因此您還應該使用“ distinct”來消除重復的結果。

select distinct ?literal { 
  ?s ?p ?literal 
  filter isLiteral(?literal)
}

至於一次以n個字面量的片段檢索這些,通常稱為分頁,並且已經在另一個問題( 分頁SPARQL結果)中進行了討論和回答。

暫無
暫無

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

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