我們正試圖通過添加一個新的操作符來擴展jena ARQ。然而,現在我們不想從一開始就這樣做,即從查詢分析到查詢執行的所有步驟。我們正在考慮手動重寫執行計劃,然後讓ARQ執行重寫的計劃。我在網上做了一些搜索,但是,我找不到手動編輯執行計劃的任何信息。我想知道是否有方法將計劃寫入文件並手動編輯文件,然後讓ARQ從磁盤讀取文件並執行它。這甚至有可能嗎?任何人都可以給我一個關於如何開始這個問題的提示嗎?Jena ARQ查詢執行擴展
0
A
回答
1
一個起點是用SSE.parseOp
來閱讀和編寫代數,並用QueryExecUtils
執行。
OpExecutor
是執行SPARQL代數的機制,並且如果添加新的Op
類型,那就是添加執行的位置。
+0
非常感謝。這有很大幫助。 – sgao
相關問題
- 1. 從apache JENA ARQ查詢得到WHERE查詢
- 2. 使用Jena/ARQ等待sparql查詢到D2R - 堆空間
- 3. 如何執行查詢擴展
- 4. 空白節點的ARQ查詢
- 5. TDB Jena查詢
- 6. 耶拿/ ARQ:查詢處理卡住
- 7. 查詢擴展lucene
- 8. files.find查詢擴展
- 9. 使用Apache-Jena的方法和Apachce-arq(在java中編寫sprarql查詢)查詢rdf圖形有什麼區別?
- 10. 從Jena對DBpedia執行SPARQL查詢時發生「超時/查詢掛起」
- 11. 在SELECT查詢上進行擴展
- 12. WCF擴展執行順序
- 13. 擴展(不執行)Clojure中
- 14. 從Firefox擴展執行JS
- 15. Jena,RDF和Jade執行
- 16. SQL SELECT查詢(擴展)
- 17. 查詢擴展了LINQ
- 18. xajax擴展列表查詢
- 19. Linq to SQl查詢擴展
- 20. DBpedia Jena查詢返回null
- 21. 查詢執行
- 22. 查詢執行
- 23. 執行查詢
- 24. Jena NoClassDefFoundError與Maven
- 25. 鉻擴展在URL中執行擴展後無效chrome://
- 26. SQL - 在此處執行子查詢還是擴展WHERE子句會更好嗎?
- 27. 從擴展運行方法擴展運行擴展運行
- 28. 在查詢執行
- 29. LINQ執行查詢?
- 30. window.onbeforeunload執行查詢
這對StackOverflow來說相當模糊。請使它更具體,例如運營商是什麼?你有什麼嘗試? – AndyS
如果運營商是一個改進執行的運營商,那麼在OpExt中有一個擴展點。如果操作符是不能寫入標準SPARQL的東西,那麼您也可以將它添加到那裏。但是,只需正確添加運算符,然後修改OpExecutor可能會更容易。這樣,您可以編寫SPARQL代數並使用SSE函數讀取它,並執行查看QueryExecUtils。這些是內部類,你應該檢查代碼。 https://jena.apache.org/documentation/query/extension.html – AndyS
非常感謝您的建議,AndyS!是的,我們要添加的操作符不能寫入std SPARQL中。據我所知,查詢引擎會爲給定的代數表達式生成一個執行計劃並執行它。因此,通過添加新的操作符並修改OpExecutor,我們是否需要觸摸Plan類? – sgao