0

我使用 apache-jena 2.10.2 命令行工具并尝试在我的图表中插入一些数据:

tdbupdate --loc /Users/graph  "INSERT DATA { <http://de.dbpedia.org/resource/Mais>   <http://ch.ingredientmatching.graph/eaternitySynonym> 15 }"

不幸的是,它没有添加任何东西。如果我更改谓词中的某些内容,例如删除或更改字符,那么它会起作用。以下作品:

tdbupdate --loc /Users/graph  "INSERT DATA { <http://de.dbpedia.org/resource/Mais>   <http://ch.ingredientmatching.graph/eaternitySynonyn> 15 }"

我在哪里更改了最后一个字符:eaternitySynonym 中的 eaternitySynonym。为了看看它是否有效,我这样做:

tdbquery --loc /Users/graph  "SELECT * WHERE { <http://de.dbpedia.org/resource/Mais> ?p ?o }"

看看它是否在输出中。

请告诉我我做错了什么。

4

1 回答 1

1

我试图重现您描述的问题,但我不能。下面的控制台脚本显示了创建一个空数据文件,为它创建一个 TDB 存储,执行你说没有工作的更新,以及执行一个查询所有三元组的查询,它返回三元组被插入。

$ tdbloader2 --loc graph data.n3 
 11:05:38 -- TDB Bulk Loader Start
 11:05:38 Data phase
INFO  Load: data.n3 -- 2013/08/28 11:05:43 EDT
INFO  Total: 0 tuples : 0.12 seconds : 0.00 tuples/sec [2013/08/28 11:05:43 EDT]
 11:05:43 Index phase
 11:05:43 Index phase end
 11:05:43 -- TDB Bulk Loader Finish
 11:05:43 -- 5 seconds
$ tdbupdate --loc graph "INSERT DATA { <http://de.dbpedia.org/resource/Mais>   <http://ch.ingredientmatching.graph/eaternitySynonym> 15 }"
$ tdbquery --loc graph  "SELECT * WHERE { <http://de.dbpedia.org/resource/Mais> ?p ?o }"
--------------------------------------------------------------
| p                                                     | o  |
==============================================================
| <http://ch.ingredientmatching.graph/eaternitySynonym> | 15 |
--------------------------------------------------------------

除非您的设置中还有其他您未描述的内容,否则这似乎应该有效。以上是使用以下版本的 Jena、ARQ 和 TDB 执行的:

$ tdbquery --version
Jena:       VERSION: 2.10.1
Jena:       BUILD_DATE: 2013-05-11T22:05:51+0100
ARQ:        VERSION: 2.10.1
ARQ:        BUILD_DATE: 2013-05-11T22:05:51+0100
RIOT:       VERSION: 2.10.1
RIOT:       BUILD_DATE: 2013-05-11T22:05:51+0100
TDB:        VERSION: 0.10.1
TDB:        BUILD_DATE: 2013-05-11T22:05:51+0100
于 2013-08-28T15:01:30.873 回答