-
Notifications
You must be signed in to change notification settings - Fork 89
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
Use a single JSON-LD context across all of GO, and make any necessary changes to noctua-models #617
Comments
Would be nice to reuse the OBO prefixes context: http://obofoundry.org/registry/obo_context.jsonld As far as I know, while a JSON document can reference multiple contexts, a context can't import another context. Should "single JSON-LD context" mean a single defined set of JSON-LD contexts, or do you want to have the pipeline concatenate a few source contexts into the single JSON-LD context? |
I'm adding rdf_uri_prefix to db-xrefs yaml. Note this will often be different from the web page expansion. Currently these are all obolibrary or identifiers.org. db-xrefs.yaml is the canonical source metadata for GO. We will generate a json-ld context from this as part of the release. Minerva will use this for expansion/contraction when communicating with Noctua/golr. ontobio will use this when converting GAFs to GO-CAMs. The neo build will use this to expand GPIs to make an OWL file of all the gene products. Jim: currently there is only a handful of ontologies in here and these are just manually synced with obo_context. We have tools in the prefixcommons repo to detect inconsistencies between these. |
This is a derived copy of the central GO db-xrefs.yaml file See: geneontology/go-site#617
NOTE: this is a temporary measure. We will build the go json ld context as part of the pipeline in future See geneontology/go-site#617
Remaining issues:
|
Dipper's curie_prefix to base_iri mapping file is: https://github.com/monarch-initiative/dipper/blob/master/dipper/curie_map.yaml Monarch app should also use it although I am not sure it does everywhere it could.
|
Thanks Tom! Summary of where we are in GO https://github.com/geneontology/go-site/blob/master/metadata/db-xrefs.yaml is the source authority. See https://github.com/geneontology/go-site/pull/620/files This is used to generate https://github.com/prefixcommons/biocontext/blob/master/registry/go_context.jsonld, but we'll actually publish the jsonld context as part of the GO pipeline. The prefixcommons repo is a good place to go for getting diffs between any two contexts |
Oh what a mess this is, prefix case differences, conflicting cases for uris, straight up prefix hijacking ... |
This is a blocking issue for me on the GO-CAM site. For reference:
Q9WTW1 (Rat) will have no information, just stating it is an owl:class Other cases:
Which affects more complex queries (e.g. to get the recommended name of a gene, or its taxon):
this query works for the second model, but does not work for the first model (xxx705). In the first model, the ?identifier is referring to a flat class without any subclass ?v0 |
@lpalbou I don't think your problem relates to identifier prefixes. |
For geneontology/go-site#617 this is the script that was used: s@http://www.informatics.jax.org/accession/MGI:MGI:@http://identifiers.org/mgi/MGI:@g; s@http://zfin.org/@http://identifiers.org/zfin/@g; s@http://rgd.mcw.edu/rgdweb/report/gene/main.html\?id=@http://identifiers.org/rgd/@g; s@http://www.wormbase.org/db/gene/gene\?name=@http://identifiers.org/wormbase/@g; s@http://flybase.org/reports/@http://identifiers.org/flybase/@g; s@http://dictybase.org/gene/@http://identifiers.org/dictybase.gene/@g; s@http://identifiers.org/TAIR:locus:@http://identifiers.org/tair.locus/@g;
s@http://www.informatics.jax.org/accession/MGI:MGI:@http://identifiers.org/mgi/MGI:@g; s@http://zfin.org/@http://identifiers.org/zfin/@g; s@http://rgd.mcw.edu/rgdweb/report/gene/main.html\?id=@http://identifiers.org/rgd/@g; s@http://www.wormbase.org/db/gene/gene\?name=@http://identifiers.org/wormbase/@g; s@http://flybase.org/reports/@http://identifiers.org/flybase/@g; s@http://dictybase.org/gene/@http://identifiers.org/dictybase.gene/@g; s@http://identifiers.org/TAIR:locus:@http://identifiers.org/tair.locus/@g;
Refactoring URIs for geneontology/go-site#617
@cmungall thanks ! |
Parts of our stack (amigo, noctua-js, GAFs, etc) use CURIEs/IDs as currency. Other parts (minerva, go-rdf, ontology) use URIs.
The expansion/contraction rules are not well defined.
We should have a single json-ld context file we use across the GO.
Furthermore, the contexts of this should be as predictable as possible. E.g. obolibrary for all ontologies, purl.uniprot for all uniprot entries, and something like id.org for everything else. This will require a one-time change to Noctua models.
Previous tickets:
The text was updated successfully, but these errors were encountered: