New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iceOfLandOrigin ontology: RDF/XML failing to upload #76

Closed
carueda opened this Issue Feb 4, 2017 · 1 comment

Comments

Projects
None yet
1 participant
@carueda
Member

carueda commented Feb 4, 2017

@graybeal FYI in case of any further comments.

Related with #62 (ENVO), this is the other ontology mentioned by Margaret in email thread started 7/19/16.

I just tried to register this ontology as downloaded from http://semanticportal.esipfed.org/ontologies/ICEOFLANDORIGIN

I tried two of the possible download formats: OWL and RDF/XML.

OWL

When using the file downloaded by using the OWL link (which gets the name ice-of-land-origin.owl), the upload operation at the COR completes OK. In particular, COR correctly detects the possible URI of the ontology, which is http://purl.org/wmo/seaice/iceOfLandOrigin# (with explanation: "Resource of type http://www.w3.org/2002/07/owl#Ontology"). I didn't complete the registration because this URI has already been registered.

RDF/XML

When using the file downloaded by using the RDF/XML link (which gets the name owlapi.xrdf, the exception below occurs when uploading it to the COR.

scala.MatchError: (null,PossibleOntologyInfo(List(Resource of type http://www.w3.org/2002/07/owl#Ontology),Map())) (of class scala.Tuple2)
	at org.json4s.Extraction$.internalDecomposeWithBuilder(Extraction.scala:132)
	at org.json4s.Extraction$.addField$1(Extraction.scala:83)
	at org.json4s.Extraction$.decomposeObject$1(Extraction.scala:111)
	at org.json4s.Extraction$.internalDecomposeWithBuilder(Extraction.scala:180)
	at org.json4s.Extraction$.decomposeWithBuilder(Extraction.scala:67)
	at org.json4s.Extraction$.decompose(Extraction.scala:194)
	at org.scalatra.json.JValueResult$$anonfun$org$scalatra$json$JValueResult$$renderToJson$1.applyOrElse(JValueResult.scala:45)
	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:170)
	at scala.PartialFunction$OrElse.applyOrElse(PartialFunction.scala:171)
	at scala.PartialFunction$Lifted.apply(PartialFunction.scala:223)
	at scala.PartialFunction$Lifted.apply(PartialFunction.scala:219)
	at org.scalatra.ScalatraBase$class.loop$1(ScalatraBase.scala:399)
	at org.scalatra.ScalatraBase$class.renderResponseBody(ScalatraBase.scala:403)
	at org.scalatra.ScalatraServlet.renderResponseBody(ScalatraServlet.scala:49)
	at org.scalatra.ScalatraBase$class.renderResponse(ScalatraBase.scala:367)
	at org.scalatra.ScalatraServlet.renderResponse(ScalatraServlet.scala:49)
	at org.scalatra.ScalatraBase$class.executeRoutes(ScalatraBase.scala:189)
	at org.scalatra.ScalatraServlet.executeRoutes(ScalatraServlet.scala:49)
	at org.scalatra.ScalatraBase$$anonfun$handle$1.apply$mcV$sp(ScalatraBase.scala:113)
	at org.scalatra.ScalatraBase$$anonfun$handle$1.apply(ScalatraBase.scala:113)
	at org.scalatra.ScalatraBase$$anonfun$handle$1.apply(ScalatraBase.scala:113)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
	at org.scalatra.DynamicScope$class.withResponse(DynamicScope.scala:80)
	at org.scalatra.ScalatraServlet.withResponse(ScalatraServlet.scala:49)
	at org.scalatra.DynamicScope$$anonfun$withRequestResponse$1.apply(DynamicScope.scala:60)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
	at org.scalatra.DynamicScope$class.withRequest(DynamicScope.scala:71)
	at org.scalatra.ScalatraServlet.withRequest(ScalatraServlet.scala:49)
	at org.scalatra.DynamicScope$class.withRequestResponse(DynamicScope.scala:59)
	at org.scalatra.ScalatraServlet.withRequestResponse(ScalatraServlet.scala:49)
	at org.scalatra.ScalatraBase$class.handle(ScalatraBase.scala:111)
	at org.scalatra.ScalatraServlet.org$scalatra$servlet$ServletBase$$super$handle(ScalatraServlet.scala:49)
	at org.scalatra.servlet.ServletBase$class.handle(ServletBase.scala:43)
	at org.mmisw.orr.ont.app.BaseController.org$scalatra$CorsSupport$$super$handle(BaseController.scala:11)
	at org.scalatra.CorsSupport$$anonfun$handle$1.apply$mcV$sp(CORSSupport.scala:200)
	at org.scalatra.CorsSupport$$anonfun$handle$1.apply(CORSSupport.scala:190)
	at org.scalatra.CorsSupport$$anonfun$handle$1.apply(CORSSupport.scala:190)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
	at org.scalatra.DynamicScope$class.withResponse(DynamicScope.scala:80)
	at org.scalatra.ScalatraServlet.withResponse(ScalatraServlet.scala:49)
	at org.scalatra.DynamicScope$$anonfun$withRequestResponse$1.apply(DynamicScope.scala:60)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
	at org.scalatra.DynamicScope$class.withRequest(DynamicScope.scala:71)
	at org.scalatra.ScalatraServlet.withRequest(ScalatraServlet.scala:49)
	at org.scalatra.DynamicScope$class.withRequestResponse(DynamicScope.scala:59)
	at org.scalatra.ScalatraServlet.withRequestResponse(ScalatraServlet.scala:49)
	at org.scalatra.CorsSupport$class.handle(CORSSupport.scala:188)
	at org.mmisw.orr.ont.app.OntController.org$scalatra$servlet$FileUploadSupport$$super$handle(OntController.scala:23)
	at org.scalatra.servlet.FileUploadSupport$class.handle(FileUploadSupport.scala:93)
	at org.mmisw.orr.ont.app.OntController.handle(OntController.scala:23)
	at org.scalatra.ScalatraServlet.service(ScalatraServlet.scala:54)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	...
@carueda

This comment has been minimized.

Show comment
Hide comment
@carueda

carueda Feb 4, 2017

Member

Fixed. (The actual fix is in the orr-ont service , mmisw/orr-ont@a8f2cf9)

As indicated there, the key aspect for the fix is that, although the owlapi.xrdf file does contain an Ontology, such resource is a blank node, so no URI in this case (internally reported as null); this was not properly handled by orr-ont.

Now the upload completes OK. It would be now up to the user to indicate the appropriate URI for the ontology in the UI and continue with the registration sequence.

2017-02-04_1257

Member

carueda commented Feb 4, 2017

Fixed. (The actual fix is in the orr-ont service , mmisw/orr-ont@a8f2cf9)

As indicated there, the key aspect for the fix is that, although the owlapi.xrdf file does contain an Ontology, such resource is a blank node, so no URI in this case (internally reported as null); this was not properly handled by orr-ont.

Now the upload completes OK. It would be now up to the user to indicate the appropriate URI for the ontology in the UI and continue with the registration sequence.

2017-02-04_1257

@carueda carueda closed this Feb 4, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment