我使用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 }"其中我更改了最后一个字符: eaternitySynonyn中的eaternitySynonym。为了看看它是否起作用,我这样做:
tdbquery --loc /Users/graph "SELECT * WHERE { <http://de.dbpedia.org/resource/Mais> ?p ?o }"看看它是否在输出中。
请告诉我我哪里做错了。
发布于 2013-08-28 23:01:31
我试着重现你所描述的问题,但我做不到。下面的控制台文字记录显示了如何创建一个空数据文件,如何为它创建一个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+0100https://stackoverflow.com/questions/18490663
复制相似问题