我的问题类似于在这个线程上提出的问题是否可以将这两个SPARQL INSERT合并为一个?
我想在查询中有多个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' .
}
};
Run Code Online (Sandbox Code Playgroud)
我知道上面的查询是错误的.我想知道SPARQL中是否有类似的东西.
是的,这是可能的.事实上,你的例子几乎完全没问题,只是丢失了每个插入的括号:
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' .
}
Run Code Online (Sandbox Code Playgroud)
是一个有效的SPARQL更新序列.