我使用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 }"
并查看它是否在输出中。
请告诉我我做错了什么。
答案 0 :(得分: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