La mia domanda è simile a quello che è stato chiesto su questo thread Is it possible to combine those 2 SPARQL INSERT into one?SPARQL multipla "INSERT WHERE" query in una singola richiesta
voglio avere inserire più Se le dichiarazioni in una query, ma per i soggetti diversi. Mi piacerebbe testare un valore particolare ("testValueN") e se presente vorrei inserire una nuova tripla per quel soggetto.
Un esempio sarebbe,
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' .
}
};
so la domanda di cui sopra è sbagliato. Mi piacerebbe sapere se qualcosa di simile è possibile in SPARQL.
Ha funzionato! Grazie Jeen Ho eseguito un aggiornamento di massa di 100, quindi 1000 triple utilizzando la query precedente. Gli aggiornamenti diventano molto lenti man mano che continuo ad aumentare il numero di triple. Per 100 INSERT cui gli aggiornamenti ci vogliono 4.2 sec e 1000 INSERT cui gli aggiornamenti ci vogliono 40,7 sec E 'questo il modo corretto e più efficace per farlo inserimento di massa in cui gli aggiornamenti? – Nikhil
Non credo, suppongo che sia molto più efficiente farlo in un singolo aggiornamento, piuttosto che una sequenza con un aggiornamento per ogni singolo valore. Ma questa è una domanda separata e richiede un po 'più di dettaglio su come sono i tuoi dati e cosa, esattamente, stai cercando di raggiungere :) –
Sto cercando di inserire in blocco le letture dei Sensori in un archivio RDF che è compatibile con SPARQL 1.1. Ricevo un flusso di letture e il corrispondente ID sensore. Devo cercare l'ID del sensore per ottenere l'URI per quel sensore e se presente inserire le misure del sensore. Quindi ho bisogno di fare prima una ricerca e poi un inserimento. L'URI del sensore pre-fetch potrebbe non essere buono perché gli aggiornamenti saranno da macchine diverse e il numero di sensori dovrebbe ridursi a un milione e oltre. per favore fatemi sapere se sono sulla pista corretta. – Nikhil