@@ -215,7 +215,7 @@ public Map<String, Model> form2Script(Model inputScript, Question form, String m
215215
216216 if (s != null ) {
217217 final Model m = extractModel (s );
218- final String uri = (( OntModel ) inputScript ). getBaseModel (). listStatements ( null , RDF . type , OWL . Ontology ). next (). getSubject (). getURI ( );
218+ final String uri = getOntologyUri ( inputScript );
219219 if (!changed .containsKey (uri )) {
220220 changed .put (uri , ModelFactory .createDefaultModel ().add (m instanceof OntModel ? ((OntModel ) m ).getBaseModel () : m ));
221221 }
@@ -266,13 +266,13 @@ public Map<String, Model> form2Script(Model inputScript, Question form, String m
266266 RDFNode answerNode = getAnswerNode (getAnswer (q ).orElse (null ));
267267 handleFormUpdate (answerNode , m , q , newUri );
268268 });
269- changed .put ((( OntModel ) inputScript ). getBaseModel (). listStatements ( null , RDF . type , OWL . Ontology ). next (). getSubject (). getURI ( ), m );
269+ changed .put (getOntologyUri ( inputScript ), m );
270270 }
271271
272272 if (ttlChanged ) {
273273 ttlModel .map (m ->
274274 changed .put (
275- m . listStatements ( null , RDF . type , OWL . Ontology ). next (). getSubject (). getURI ( ),
275+ getOntologyUri ( m ),
276276 m
277277 )
278278 );
@@ -494,7 +494,7 @@ private Map<String, Set<String>> extractQuestionMetadata(Statement st) {
494494 if (st .getPredicate ().hasProperty (RDFS .range ))
495495 p .put (Vocabulary .s_p_has_answer_value_type , Collections .singleton (st .getPredicate ().getProperty (RDFS .range ).getObject ().asResource ().getURI ()));
496496 Model m = extractModel (st );
497- p .put (Vocabulary .s_p_has_origin_context , Collections .singleton (m . listStatements ( null , RDF . type , OWL . Ontology ). next (). getSubject (). getURI ( )));
497+ p .put (Vocabulary .s_p_has_origin_context , Collections .singleton (getOntologyUri ( m )));
498498 return p ;
499499 }
500500
@@ -559,4 +559,9 @@ private Optional<Model> find(Statement st, Model m, Optional<Model> res) {
559559 return Optional .of (m );
560560 return Optional .empty ();
561561 }
562+
563+ private String getOntologyUri (Model model ) {
564+ Model queriedModel = model instanceof OntModel ? ((OntModel ) model ).getBaseModel () : model ;
565+ return queriedModel .listStatements (null , RDF .type , OWL .Ontology ).next ().getSubject ().getURI ();
566+ }
562567}
0 commit comments