Unknown body atom type: Auxillary_Class_Assertion

(Blue Angel) #1


I am still developing my server to translate data into semantic and store them in StardDog, i have no more problem to populate and transfer, but when i want to query (SPARQL) i receive an error : “Unknown body atom type: AUXILIARY_CLASS_ASSERTION”

The error is received only with SPARQL query contains one (or more) Optional

The code used is :
SelectQuery aQuery = starDogConnection.select(sparql1);
String explain = aQuery.explain();
System.out.println("explain : ");
System.out.println("execute : ");
TupleQueryResult aResult = aQuery.execute();

Thanks for your help

(stephen) #2


Could you send us (either here or privately) the ontology you’re using, as well as the sparql1 query that you’re passing in to the select method?

(Blue Angel) #3

The request :

SELECT DISTINCT ?dataset ?model ?manufacturer ?kvpvalue ?kvpunitlabel ?tubecurrentvalue ?tubecurrentunitlabel ?exptimevalue ?exptimeunitlabel ?useofxraymodvalue
?dataset rdf:type ontomedirad:CT_image_dataset .
?dataset ontomedirad:is_specified_output_of ?ctacq .
?ctacq rdf:type ontomedirad:CT_acquisition .
?scanner rdf:type ontomedirad:CT_scanner .
?acqrole rdf:type ontomedirad:image_acquisition_role .
?acqrole purl:BFO_0000052 ?scanner.
?acqrole purl:BFO_0000054 ?ctacq .
OPTIONAL {?ctacq ontomedirad:has_setting ?tubecurrent .
?tubecurrent rdf:type dcm:113734 .
?tubecurrent purl:IAO_0000004 ?tubecurrentvalue .
OPTIONAL {?tubecurrent purl:IAO_0000039 ?tubecurrentunit .
?tubecurrentunit rdfs:label ?tubecurrentunitlabel }}.
OPTIONAL {?ctacq ontomedirad:has_setting ?xraymodsetting .
?xraymodsetting rdf:type ?xraymodclass .
?xraymodclass rdfs:subClassOf* dcm:113842 .
?xraymodsetting purl:IAO_0000004 ?useofxraymodvalue } .
OPTIONAL {?ctacq ontomedirad:has_setting ?kvpsetting .
?kvpsetting rdf:type dcm:113733 .
?kvpsetting purl:IAO_0000004 ?kvpvalue .
OPTIONAL {?kvpsetting purl:IAO_0000039 ?kvpunit .
?kvpunit rdfs:label ?kvpunitlabel }}.
OPTIONAL {?ctacq ontomedirad:has_setting ?exptime .
?exptime rdf:type dcm:113824 .
?exptime purl:IAO_0000004 ?exptimevalue .
OPTIONAL {?exptime purl:IAO_0000039 ?exptimeunit .
?exptimeunit rdfs:label ?exptimeunitlabel }}.
?scanner ontomedirad:has_manufacturer_name ?manufacturer .
?scanner ontomedirad:has_model_name ?model .

The same request directly on stardog in a web browser is functioning

(stephen) #4

I see that you’re printing out the query plan (aQuery.explain()). Is that something you would be able to share here?

Would you also be able to share your ontology?

(Blue Angel) #5

These are the files for help you

The Ontology : https://drive.google.com/open?id=15eePjQtchnf5QFMsBsmI0uMHoagAQ9uk
The RDF Files from populated Graph : https://drive.google.com/open?id=10rcB7o6S8PRMpNhQ4AIyXCkzYEmv7JbM
Ontology and Populated Graphs are on the Stardog
The explanation : https://drive.google.com/open?id=1jY4uYdGlo_xWM99tefTiL9D2ozXH7H_2

Thanks for your help

(stephen) #6

Thanks for the files. I am able to reproduce this issue in Stardog 5.3.1, and we’ll take a deeper look into it.