Closed vdancik closed 2 years ago
Hi @vdancik!
Just to control expectations, this repo is intended primarily for ontologies as sql but it should work for any OWL. I would like to add views for the BioPAX schema just as we have views for OWL, allowing e.g. select * from SmallMolecule
, plus some standard composed joins. But at the moment things like SELECT * FROM rdfs_label_statement
will give empty results as biopax uses bespoke properties.
Anyway onto your problem. It looks like the OWL is not valid RDF/XML. Rust uses a stricter parser than the OWLAPI or Jena, so these kinds of problems slip by...
The problem is here:
<bp:UnificationXref rdf:ID="eco_ECO:0000501_12">
<bp:id rdf:datatype = "http://www.w3.org/2001/XMLSchema#string">ECO:0000501</bp:id>
<bp:db rdf:datatype = "http://www.w3.org/2001/XMLSchema#string">eco</bp:db>
</bp:UnificationXref>
this is invalid RDF and eco_ECO is not defined
I tried a hacky fix to use apache Jena:
✗ riot --output rdfxml tests/input/Thiamin_metabolism.owl > tests/input/Thiamin_metabolism_fixed.owl
19:08:22 WARN riot :: [line: 117, col: 49] {W108} Not an XML Name: 'eco_ECO:0000501_12'
19:08:22 WARN riot :: [line: 824, col: 48] {W108} Not an XML Name: 'eco_ECO:0000314_4'
19:08:22 WARN riot :: [line: 1021, col: 49] {W108} Not an XML Name: 'eco_ECO:0000250_15'
But the output is still invalid and the rust rio parser refuses to process it
I tried putting this in the header:
xmlns:eco_ECO="http://purl.obolibrary.org/obo/ECO_"
xmlns:ECO="http://purl.obolibrary.org/obo/ECO_"
But still no luck
I'll ask around and see if anyone has any fixes
Thank you @cmungall for explaining what's going on and trying find a fix.
We are attempting to parse owl files from Panther (http://data.pantherdb.org/ftp/pathway/current_release/BioPAX.tar.gz) using a docker image
docker:linkml/semantic-sql
. When we tried to parse Thiamin_metabolism.owl, we get the following error: