Curl sparql插入where子句

Curl sparql插入where子句,curl,sparql,4store,Curl,Sparql,4store,如何在4store sparql中插入带有“where”条件的查询 就我所搜索到的,我知道我们必须使用curl命令来进行同样的操作 Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","curl -i -d 'update=INSERT+DATA+{+?subject2+<http://www.w3.org/2002/07/owl/sameAs>+?subject3+.+}+WHERE+{+?

如何在4store sparql中插入带有“where”条件的查询 就我所搜索到的,我知道我们必须使用curl命令来进行同样的操作

         Process p = Runtime.getRuntime().exec(new String[]{"bash","-c","curl -i -d 'update=INSERT+DATA+{+?subject2+<http://www.w3.org/2002/07/owl/sameAs>+?subject3+.+}+WHERE+{+?subject2+<http://localhost:2020/vocab/Schema_feature>+\""+first[0]+"\"+.+?subject3+<http://localhost:2020/vocab/Schema_feature>+\""+first[1]+"\"+.+}' http://localhost:8000/update/"});
Process p=Runtime.getRuntime().exec(新字符串[]{“bash”、“-c”、“curl-i-d”update=INSERT+DATA++++++++?subject2++?subject3++}+其中+{++?subject2++\\+\\\+.first[0]+“\+.+.subject3++\+first[1]+http://localhost:8000/update/"});
但它说“哪里”不应该在那里。我做错了什么? 还有别的办法吗 使用简单的insert命令,我无法在sparql中工作

它正在工作,但对于?subject3它正在输入空值。我不知道为什么。当我检查三元组的位置条件时,它们显示的值不存在

insert data { ... } where { ... }
您可以使用以下选项插入常量数据:

insert data { ... }
或者,您可以计算要插入的数据

insert { ... } where { ... }

看起来后一个才是你想要的。

它正在工作,但对于?subject3它正在输入空值。我不知道why@henrymathew没有看到您实际执行的查询,没有看到您的数据,我们也无法真正知道。“空值”是什么意思?我已经用select语句检查了where子句,当我运行它正在显示的构造时,它工作正常results@henrymathew现在一切都正常了吗?不,我是说“where返回结果”,但是匹配第一个子句的三元组只插入了谓词的空白节点