Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
运行一组文件中存在的查询的ANT脚本_Ant_Rdf_Sparql - Fatal编程技术网

运行一组文件中存在的查询的ANT脚本

运行一组文件中存在的查询的ANT脚本,ant,rdf,sparql,Ant,Rdf,Sparql,我有一个ANT任务,它使用一个RDF文件-cpldm.ttl并对其运行一个查询,该查询存在于文件-ASK-ldm.rq中。它是使用JavaAnt任务完成的。代码如下所示- <java classname="arq.sparql" fork="true" outputproperty="javaresult" errorproperty="javaerror1"> <arg value="--data=${tools.dir}/build-config/SPARQL/cpldm

我有一个ANT任务,它使用一个RDF文件-cpldm.ttl并对其运行一个查询,该查询存在于文件-ASK-ldm.rq中。它是使用JavaAnt任务完成的。代码如下所示-

<java classname="arq.sparql" fork="true" outputproperty="javaresult" errorproperty="javaerror1">
 <arg value="--data=${tools.dir}/build-config/SPARQL/cpldm.ttl"/>
 <arg value="--query=${tools.dir}/build-config/SPARQL/ASK-ldm.rq"/>
 <jvmarg value="-Xmx1024M"/>
 <classpath>
   <path> 
     <fileset dir="${jena.dir}/lib">
      <include name="*.jar"/>
     </fileset>
   </path>
 </classpath>
</java>
然后在外面,它正在显示-

javatask:
 [echo] Result for {queryFile} is: Ask => Yes
首先,这个错误消息是什么意思,我想在put中看到'queryFile'的名称,以便知道哪个文件给出了什么结果


还有其他帮助吗?

如果您不想编写java代码,可以通过将此java任务包装在一个文件中来实现。然后,可以对每个要处理的文件调用该宏一次。如果不想手动多次调用宏,可以使用

如果您不反对为此创建自己的ant任务,我建议您阅读。如果您了解java,那么创建Ant任务其实并不难。您自己的任务可以这样指定:它处理文件集并为每个文件集调用原始java类


更新:。正如您所看到的,它实际上可以多次调用任务,因此在这种情况下,您不需要创建宏。

谢谢,它起到了作用,但给出了一个我不确定的消息。我给出了我正在使用的全部代码和我得到的输出。你在{queryFile}前面忘了一个$。不管怎样,谢谢。西蒙,我希望你能多帮我一点忙。是否有任何方法可以始终将“输出”存储到特定位置的文本文件中?使用任务并将“输出”属性设置为该文件,然后append=“true”depercation警告是关于您使用元素的,而foreach任务要求您改为使用元素。这是因为文件集没有任何顺序,而路径有任何顺序。
[foreach] The nested fileset element is deprectated, use a nested path instead
javatask:
 [echo] Result for {queryFile} is: Ask => Yes