它看起來像this question已經被提出過,但隨後被刪除?!Pure-SPARQL從一個端點到另一個端點的數據遷移?
對於一個SQL表中的數據,我可以很容易地replicate the structure,然後migrate the data to another table (or database?)。
CREATE TABLE new_table
AS (SELECT * FROM old_table);
SELECT *
INTO new_table [IN externaldb]
FROM old_table
WHERE condition;
RDF/SPARQL有什麼類似之處嗎?將select和insert組合成一個SPARQL語句的東西?
具體來說,我使用Karma,它將數據發佈到嵌入式OpenRDF/Sesame端點。在終端的GUI上有一個文本框,所以我可以將其更改爲獨立的RDF4J,因爲RDF4J是芝麻分支。
不幸的是,當我在端點文本框中輸入Virtuoso,Stardog或Blazegraph端點的地址時,我收到了來自Karma的invalid SPARQL endpoint
這樣的錯誤。我懷疑這可能是可能修改和重新編譯噶,或(更真實),我可以寫耶拿或RDF4J庫一個小工具,select
到RAM或刮傷磁盤空間,然後insert
到另一個端點。
但是,如果有純SPARQL解決方案,我一定會喜歡聽到它。
我很好奇,如果你已經嘗試這樣那樣的辦法,它就是你」重新找? https://stackoverflow.com/questions/10078966/multiple-sparql-insert-where-queries-in-a-single-request如果不是,也許至少它可能會讓你朝着正確的方向 –
從技術上講,INSERT { ?s?p?o。 }在哪裏{?s?p?o。 };'這樣的查詢應該選擇數據庫中每一個可能的三元組('WHERE'子句),插入應該創建它們。這是對你的問題的回答'將select和insert組合成一個SPARQL語句的東西?'但是我想你只想做比這更復雜的事情。 –
很好,你能展示我如何指定源和目的端點嗎? –