删除QUERY SPARQL FUSEKI

时间:2017-01-12 18:39:54

标签: web sparql rdfs fuseki

如何删除给定uri的所有三元组语句?

我的图表包含:

 PREFIX mo: <http://www.dbwic.org/ontology#> 
          PREFIX term:  <http://www.dbwic.org/ontology/terms/>
          PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
 <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> term:title "tiitle album";
                                                                  term:date "date title";
                                                                  term:name " name ".

我尝试删除http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a的所有三元组,但查询无效。

 PREFIX mo: <http://www.dbwic.org/ontology#> 
          PREFIX term:  <http://www.dbwic.org/ontology/terms/>
          PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
delete{  ?id ?p ?o}
where
    {   
     FILTER (?id = <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a>)
    ?id ?p ?o
    }

SPARQL查询:没有'query ='参数(#400) 错误400:SPARQL查询:没有'query ='参数

3 个答案:

答案 0 :(得分:2)

我真的无法帮助Fuseki,但我想指出你在这里有一个SPARQL反模式。 where子句不需要FILTER。即取代

{
   FILTER  (?id = <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a>)
  ?id ?p ?o
}

...使用BGP(基本图形模式)

{
   <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> ?p ?o .
}

答案 1 :(得分:2)

DELETE WHERE { <http://www.dbwic.org/page/d2e2e606-f962-4db1-8ffc-883e75da109a> ?p ?o }

但你的问题是:

SPARQL Query: No 'query=' parameter

看起来您正在向查询端点发送更新。

更新和查询端点是分开的。

检查用于发送更新请求的代码。它通常被称为“更新”:

http://host:port/*YourDataset*/update

查询端点结束.../query.../sparql

答案 2 :(得分:0)

确保您指向适当的端点。在Fuseki中,查询端点

例如(http://localhost:3030/mydataset/query)与更新端点(http://localhost:3030/mydataset/update)不同。

选择,问题和构造应该使用第一个完成,而更新,插入和删除应该使用第二个完成。