Skip to content
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

generate go.db (sqllite version of the GO), for use with closure tooling in oaklib #117

Open
4 tasks
sierra-moxon opened this issue Feb 7, 2025 · 2 comments

Comments

@sierra-moxon
Copy link
Member

We need to generate a sqllite version of the GO to improve speed in calculating closures used in generating index files for GO-CAMs served by the go API.

This work includes:

  • update go-ontology to use a more recent version of ODK (ODK docker image is already used in the pipeline to generate different serializations of the GO) that incorporates the backend packages (semsql, which also has rdflib and rust requirements better included via ODK than manually) that are used to generate this artifact.
  • In the geneontology/go-ontology repo, add a target to generate the .db artifact like this:
%.db: %.owl
	@rm -f $*.db $*-relation-graph.tsv.gz .template.db .template.db.tmp
	semsql make $*.db
	@rm -f $*-relation-graph.tsv.gz .template.db .template.db.tmp
	@test -f $*.db || (echo "SQLite/SemSQL generation failed" && exit 1)

locally in the geneontology/go-ontology repo (with the most recent version of ODK):

% cd go-ontology/src/ontology
% wget https://purl.obolibrary.org/obo/go.owl .
% ./run.sh semsql make go.db      # run.sh is equivalent to odk.sh as documented in ODK 

This requires go.owl to be present in the directory where the make command is run. and is called like: % ./run.sh semsql make go.db which wraps a call to the running ODK docker container and runs semsql inside that docker container.

  • It would be nice to run this command both on the full go.owl file, and separately on the go-base.owl file, so we have choice in artifacts to use in calculating closures (the go-base version being smaller and quicker).

  • make sure the go.db is shuttled to the "products" directory of skyhook release/snapshot/etc...

@kltm
Copy link
Member

kltm commented Feb 8, 2025

As a temporary workaround until we have this in the main pipeline, @sierra-moxon will provide a manually created go.db (and go-basic.db) which we will try to sideload onto the next release attempt.

@kltm
Copy link
Member

kltm commented Feb 8, 2025

@sierra-moxon Is there a GO-CAM-in-API issue somewhere? I know I've seen it, but I'm having trouble finding it for some reason...

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

No branches or pull requests

2 participants