我的問題是類似於被要求在此線程Is it possible to combine those 2 SPARQL INSERT into one?多SPARQL「地方插入」在一個請求查詢
我想有多個INSERT語句的WHERE查詢中,但對於不同的主題。 我想測試一個特定的值(「testValueN」),如果有的話想插入一個新的三元組。
它的一個例子是,
PREFIX Sensor: <http://example.com/Equipment.owl#>
{
INSERT {
?subject1 Sensor:test2 'newValue1' .
}
WHERE {
?subject1 Sensor:test1 'testValue1' .
}
};
{
INSERT {
?subject2 Sensor:test2 'newValue2' .
}
WHERE {
?subject2 Sensor:test1 'testValue2' .
}
};
我知道上面的查詢是錯誤的。我想知道在SPARQL中是否有類似的可能。
它工作!謝謝Jeen 我跑了一個批量更新100,然後1000使用上述查詢三元組。隨着我不斷增加三元組的數量,更新變得非常緩慢。 對於100 INSERT WHERE更新需要4.2秒和 1000 INSERT WHERE更新需要40.7秒 這是做批量INSERT WHERE更新的正確和最有效的方法嗎? – Nikhil 2012-04-10 22:22:48
我不這麼認爲,我猜測在單次更新中這樣做效率要高很多,而不是每個單獨值更新的序列。但是,這是一個單獨的問題,需要更多關於數據的詳細信息,以及您準備實現的內容:) – 2012-04-10 23:12:28
我試圖將傳感器讀數批量插入符合SPARQL 1.1的RDF存儲中。我得到一串讀數和相應的傳感器ID。我需要查找傳感器ID獲取該傳感器的URI,如果存在,則插入傳感器測量值。 所以我需要首先做一個查找然後一個插入。預取傳感器URI可能不太好,因爲更新將來自不同的機器,傳感器的數量應該擴展到一百萬甚至更多。如果我在正確的軌道上,請告訴我。 – Nikhil 2012-04-13 06:01:32