我想在 Sparql 中向 rdf 添加数据

I want to add data to rdf in Sparql

我正在尝试使用 SPARQL 更新一些数据。这是原始数据的样子:

<http://dbpedia.org/resource/Switzerland#1 >
   <http://www.w3.org/2000/01/rdf-schema#label > "1"@ja ;
   <http://linkdata.org/property/rdf1s2307i#num > "1"@ja ;
   <http://learningsparql.com/ns/addressbook#code > "1234"@ja .

这是我希望数据在更新后的样子:

<http://dbpedia.org/resource/Switzerland#1 >
   <http://www.w3.org/2000/01/rdf-schema#label > "1"@ja ;
   <http://linkdata.org/property/rdf1s2307i#num > "1"@ja ;
   <http://learningsparql.com/ns/addressbook#code > "1234"@ja ;
   <http://learningsparql.com/ns/addressbook#name > "taro"@ja .

我有一个正在尝试使用的查询,但最终返回错误。这是我得到的查询和错误:

PREFIX schema: <http://www.w3.org/2000/01/rdf-schema# >
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos# >
PREFIX ab: <http://learningsparql.com/ns/addressbook# >
PREFIX res: <http://www.w3.org/2000/01/rdf-schema# >

INSERT DATA{
  GRAPH <http://ddd.test/addressbook> { ab:name "taro" . }
}

SQLState: 22023 Message: SR007: Function exec_metadata needs a string or NULL as argument 1, not an arg of type ARRAY_OF_POINTER (193)

两件事:

  1. 不要在前缀 URI 的末尾保留任何空格。
  2. 使用 INSERT DATA 时,请确保您的语句是三元组。您只使用了一个谓词和一个对象。

如果您在执行之前通过 SPARQL 验证器传递查询,则可能会选择上述内容。

试试这个:

PREFIX schema: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX ab: <http://learningsparql.com/ns/addressbook#>
PREFIX res: <http://www.w3.org/2000/01/rdf-schema#>

INSERT DATA{
  GRAPH <http://ddd.test/addressbook> {
      <http://dbpedia.org/resource/Switzerland#1> ab:name "taro" .
  }
}