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

add action to check conformance with "GPAD ShEx" on each change #544

Open
balhoff opened this issue Jun 6, 2024 · 12 comments · May be fixed by #546
Open

add action to check conformance with "GPAD ShEx" on each change #544

balhoff opened this issue Jun 6, 2024 · 12 comments · May be fixed by #546

Comments

@balhoff
Copy link
Member

balhoff commented Jun 6, 2024

Need to check performance of this on various-sized models.

@balhoff
Copy link
Member Author

balhoff commented Jul 17, 2024

I've created a preliminary implementation of the ShEx checking part of this, which runs whenever a model is saved. It was a bit too slow using the shex-java library already used in Minerva, so I updated our Jena dependency to a version that comes with its own ShEx functionality (this is what I've been using to test the gpad-shapes schema on the command line). With that checker, performance seems reasonable. For a model on the larger side (http://noctua.geneontology.org/editor/graph/gomodel:MGI_MGI_88276) it adds about 2.5 seconds to the save time, but for a smaller model (http://noctua.geneontology.org/editor/graph/gomodel:YeastPathways_PWY3O-4105) it's much faster, 135 ms.

Next I'll add writing the conformance result into the model and then add this to dev.

@balhoff
Copy link
Member Author

balhoff commented Jul 18, 2024

I made a PR in #546. I also put the changes on the dev branch (which I reset, so may need to reset in existing checkouts).

@balhoff
Copy link
Member Author

balhoff commented Jul 18, 2024

@kltm hang on; need to deal with some test problems.

@balhoff
Copy link
Member Author

balhoff commented Jul 24, 2024

@kltm the dev branch is up to date with these changes. You will need to add something to the minerva command line options:

--gpad-shex gpad-shapes.shex --gpad-shape-map gpad-shapes.shapeMap

These files are currently on a branch in go-shapes:

@kltm
Copy link
Member

kltm commented Jul 24, 2024

@balhoff Does this include a "surfacing" of the data (coming out in the API responses), or is this just adding the metadata to models on change?

@balhoff
Copy link
Member Author

balhoff commented Jul 24, 2024

Both—the surfacing seemed to happen without any specific effort on my part.

@kltm
Copy link
Member

kltm commented Jul 24, 2024

On noctua-dev, as a manual one-off on dev for gulpfile.js in noctua, I'm adding the last two lines here (after appropriately downloaded):

var minerva_opts_base = [
    'java',
    '-Xmx' + minerva_max_mem + 'G',
    '-cp', _select_minerva(),
    'org.geneontology.minerva.server.StartUpTool',
    '--use-golr-url-logging', // possibly unnecessary in non-lookup cases
    '--gpad-shex', '/tmp/gpad-shapes.shex',
    '--gpad-shape-map', '/tmp/gpad-shapes.shapeMap',

@balhoff
Copy link
Member Author

balhoff commented Jul 25, 2024

@kltm @tmushayahama I updated the PR and dev branch so that the property comes out as conforms-to-gpad rather than the full property IRI.

@vanaukenk
Copy link

From 2024-07-25 workbenches call:

@balhoff
We need this metadata available via the search API, as well, so the SPARQL may need to be adjusted.

@balhoff
Copy link
Member Author

balhoff commented Jul 29, 2024

@vanaukenk @tmushayahama I've added the conformance value to the search API output.

@kltm
Copy link
Member

kltm commented Jul 30, 2024

The latest dev should now be active on noctua-dev.

@vanaukenk
Copy link

I've tested this with a small model:

  1. added standard annotations in the new UI
  2. checked the icon on the Noctua landing page
  3. added causal relations between functions; expanding anatomical extensions (i.e. CC part of cell, cell part of tissue) in both the graph editor and the VPE
  4. checked the icon on the Noctua landing page

Seems to be working okay.

@vanaukenk vanaukenk reopened this Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

Successfully merging a pull request may close this issue.

3 participants