通过 SPARQL UPDATE 从 ontology 中删除空白节点
Delete blank node from ontology through SPARQL UPDATE
我在 SPARQL UPDATE 'insert' 操作的帮助下将一些数据存储在我的 ontology 模型中。下面是更新查询。
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
insert {
[] test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?now .
}
where {
values (?s ?p) {
(test:Actual_Production_Time 33)
}
bind (now() as ?now)
}
在rdf图中的存储方式如下:
[ test:Kpi_Variable test:Actual_Production_Time ;
test:hasTime "2017-06-02T14:40:33.187+03:00"^^xsd:dateTime ;
test:hasValue_ROB4 33
] .
现在我想用'delete'操作删除这个空白节点。我尝试了很多方法,但没有用。
有什么建议吗?
使用DELETE
:
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
DELETE
{
?b test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?t .
}
WHERE
{
?b test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?t .
FILTER (?t < now())
FILTER (isBlank(?b))
# ...
VALUES (?s ?p) { (test:Actual_Production_Time 33) }
}
使用DELETE WHERE
:
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
DELETE
WHERE
{
?s test:Kpi_Variable test:Actual_Production_Time ;
test:hasValue_ROB4 33 ;
test:hasTime "2017-06-00T00:00:00.000+00:00"^^xsd:dateTime .
}
空白节点和空白节点标签(以及FILTER
等)can not用于DELETE WHERE
。
我在 SPARQL UPDATE 'insert' 操作的帮助下将一些数据存储在我的 ontology 模型中。下面是更新查询。
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
insert {
[] test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?now .
}
where {
values (?s ?p) {
(test:Actual_Production_Time 33)
}
bind (now() as ?now)
}
在rdf图中的存储方式如下:
[ test:Kpi_Variable test:Actual_Production_Time ;
test:hasTime "2017-06-02T14:40:33.187+03:00"^^xsd:dateTime ;
test:hasValue_ROB4 33
] .
现在我想用'delete'操作删除这个空白节点。我尝试了很多方法,但没有用。 有什么建议吗?
使用DELETE
:
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
DELETE
{
?b test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?t .
}
WHERE
{
?b test:Kpi_Variable ?s ;
test:hasValue_ROB4 ?p ;
test:hasTime ?t .
FILTER (?t < now())
FILTER (isBlank(?b))
# ...
VALUES (?s ?p) { (test:Actual_Production_Time 33) }
}
使用DELETE WHERE
:
PREFIX test: <http://www.semanticweb.org/muhammad/ontologies/2017/2/untitled-ontology-14#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
DELETE
WHERE
{
?s test:Kpi_Variable test:Actual_Production_Time ;
test:hasValue_ROB4 33 ;
test:hasTime "2017-06-00T00:00:00.000+00:00"^^xsd:dateTime .
}
空白节点和空白节点标签(以及FILTER
等)can not用于DELETE WHERE
。