2014-01-22 111 views
3

我在Jena SDB上處理SPARQL查詢性能。爲了持久化,Jena SDB在關係數據庫(例如MySQL)中存儲三元組。 Jena SDB如何處理SPARQL查詢?是否:Jena SDB(關係數據庫支持的RDF存儲)如何處理SPARQL查詢?

  1. 將所有數據從MySQL加載到它的內存格式,然後在內存中運行sparql查詢;或
  2. 翻譯SQL中的SPARQL查詢並將其發送給MySQL?

第二個假設對我來說似乎最有可能,因爲這將利用關係數據庫提供的索引。有人對此有任何線索,或者有關Jena內部數據格式的任何引用來處理SPARQL查詢?

回答

3
  1. 否(它不讀取一切入存儲器)
  2. 是(它生成SQL)

見的sdbprint輸出其示出了生成的SQL。在所有情況下,對於一個SPARQL查詢,不是一個SQL查詢。

耶拿TDB比耶拿SDB更快,規模也更好。只有在需要對現有SQL部署進行分層的情況下,才應使用SDB。

+0

感謝您的評論。在哪裏可以找到'sdbprint'來打印它? –

+2

@FopaLéonConstantin可以使用[javadoc for sdbprint](http://jena.apache.org/documentation/javadoc/sdb/sdb/sdbprint.html)。這是一個SDB提供的命令行工具。 –