Wdsub fails on a ShEx using OR
andrawaag opened this issue · comments
andrawaag commented
I am trying to extract a subset by a vector of identifiers:
prefix : <http://www.wikidata.org/entity/>
:proteins {
:P3524 {}+ |
:P637 {}+ |
:P705 {}+ |
:P352 {} |
:P638 {}+ ;
}
This leads to the following error message:
Exception in thread "main" scala.MatchError: OneOf(None,List(TripleConstraint(None,None,None,<http://www.wikidata.org/entity/P3524>,None,Some(1),Some(Star),None,None,None), TripleConstraint(None,None,None,<http://www.wikidata.org/entity/P637>,None,Some(1),Some(Star),None,None,None), TripleConstraint(None,None,None,<http://www.wikidata.org/entity/P705>,None,Some(1),Some(Star),None,None,None), TripleConstraint(None,None,None,<http://www.wikidata.org/entity/P352>,None,None,None,None,None,None), TripleConstraint(None,None,None,<http://www.wikidata.org/entity/P638>,None,Some(1),Some(Star),None,None,None)),None,None,None,None) (of class es.weso.shex.OneOf)
at es.weso.wdsub.ShEx2WShEx$.convertTripleExpr(ShEx2WShEx.scala:49)
at es.weso.wdsub.ShEx2WShEx$.convertShape(ShEx2WShEx.scala:45)
at es.weso.wdsub.ShEx2WShEx$.convertShapeExpr(ShEx2WShEx.scala:24)
at es.weso.wdsub.ShEx2WShEx$.$anonfun$convertSchema$2(ShEx2WShEx.scala:19)
at scala.collection.immutable.List.map(List.scala:293)
at es.weso.wdsub.ShEx2WShEx$.convertSchema(ShEx2WShEx.scala:19)
at es.weso.wdsub.DumpProcessor$.$anonfun$acquireShEx$2(DumpProcessor.scala:27)
at cats.effect.IOFiber.flatMapK(IOFiber.scala:1213)
at cats.effect.IOFiber.succeeded(IOFiber.scala:1013)
at cats.effect.IOFiber.mapK(IOFiber.scala:1205)
at cats.effect.IOFiber.succeeded(IOFiber.scala:1012)
at cats.effect.IOFiber.mapK(IOFiber.scala:1205)
at cats.effect.IOFiber.succeeded(IOFiber.scala:1012)
at cats.effect.IOFiber.runLoop(IOFiber.scala:259)
at cats.effect.IOFiber.afterBlockingSuccessfulR(IOFiber.scala:1162)
at cats.effect.IOFiber.run(IOFiber.scala:129)
at cats.effect.unsafe.WorkerThread.run(WorkerThread.scala:359)