8

私の質問は、このスレッドで尋ねられたことと似ています。これらの 2 つの SPARQL INSERT を 1 つに結合することは可能ですか?

クエリで複数の 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で同様のことが可能かどうか知りたいです。

4

2 に答える 2

9

はい、可能です。実際、あなたの例はほぼ完全に問題なく、各挿入の周りの括弧を失うだけです:

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 更新シーケンスです。

于 2012-04-10T07:29:56.003 に答える