Failed to parse owl-file with migrated Knowrob package
Hello KnowRob Developers,
I'm trying to migrate a knowrob/rosbuild package to the catkinized/rosjava version following the very useful instructions here, everything seems to compile correctly, I am able to run a java exectuable which converts yaml files into owl files. The package can be found here. The package basically consists of starting the knowledge base with two owl files knowrob-seds.owl and dummy-task.owl. This used to work perfectly in the rosbuild version of the package, but now that I have migrated I get the following warnings, when starting the knowledge base and loaded the owl files:
$ roslaunch rosjava_knowrob_seds knowrob_seds.launch
% Parsed "knowrob-seds.owl" in 0.00 sec; 64 triples
Warning: /home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/prolog/init.pl:33:
Goal (directive) failed: user:owl_parser:owl_parse(package://rosjava_knowrob_seds/owl/knowrob-seds.owl)
% Parsed "dummy-task.owl" in 0.02 sec; 1,736 triples
Warning: /home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/prolog/init.pl:37:
Goal (directive) failed: user:owl_parser:owl_parse(package://rosjava_knowrob_seds/owl/dummy-task.owl)
% /home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/prolog/init.pl compiled 0.03 sec, 4 clauses
Warning: /home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/prolog/init.pl:33:
Goal (directive) failed: user:owl_parser:owl_parse(package://rosjava_knowrob_seds/owl/knowrob-seds.owl)
Warning: /home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/prolog/init.pl:37:
Goal (directive) failed: user:owl_parser:owl_parse(package://rosjava_knowrob_seds/owl/dummy-task.owl)
Which is curious to me, as to why it shows only as a warning, because when I try to query it from a python interface I get the following errors:
$ rosrun rosjava_knowrob_seds test_seds_model.py
Traceback (most recent call last):
File "/home/nadiafigueroa/catkin_ws_knowrob/src/stacks/rosjava_knowrob_seds/rosjava_knowrob_seds/src/test_seds_model.py", line 23, in <module>
query = prolog.query("""rdfs_subclass_of(Phase, seds:'SEDSMotion'), phase_properties(Phase, ID, Object, Threshold, Atractor, Models), member(Model, Models), motion_properties(Model, Type, GMMs), member(GMM, GMMs), gmm_properties(GMM, GMMType, InputType, InputDim, OutputType, OutputDim, Gaussians), member(Gaussian, Gaussians), gaussian_components(Gaussian, Mean, Cov, Prior), vector_elements(Mean, MeanVec),matrix_elements(Cov, CovMat)""")
File "/home/nadiafigueroa/catkin_ws_knowrob/src/stacks/knowrob/json_prolog/src/json_prolog/json_prolog.py", line 69, in query
return PrologQuery(query_str)
File "/home/nadiafigueroa/catkin_ws_knowrob/src/stacks/knowrob/json_prolog/src/json_prolog/json_prolog.py", line 22, in __init__
raise PrologException('Prolog query failed: %s' % result.message)
json_prolog.json_prolog.PrologException: "Prolog query failed: PrologException: error(existence_error(procedure, /(phase_properties, 6)), context(:(system, /('<meta-call>', 1)), _23))"
and these on the knowledgebase side:
jpl.PrologException: PrologException: error(existence_error(procedure, /(phase_properties, 6)), context(:(system, /('<meta-call>', 1)), _23))
at jpl.Query.get1(Query.java:336)
at jpl.Query.hasMoreSolutions(Query.java:258)
at jpl.Query.allSolutions(Query.java:556)
at org.knowrob.json_prolog.query.AllSolutionsCommand.execute(AllSolutionsCommand.java:6)
at org.knowrob.json_prolog.query.ThreadedQuery.run(ThreadedQuery.java:104)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
java.lang.Exception: jpl.PrologException: PrologException: error(existence_error ...
@nadia: use the preformatted text button (the one with the binary
101010
) to format stack traces, code and console output.Thanks! @gvdhoorn