robot icon indicating copy to clipboard operation
robot copied to clipboard

Support DL query

Open jamesaoverton opened this issue 7 years ago • 11 comments

We should be able to run DL queries using the OWLAPI.

This might work as an extension of query.

@hoganwr has an implementation here that we can look at: https://github.com/ufbmi/dron-query

jamesaoverton avatar Oct 26 '18 13:10 jamesaoverton

What do you think about integrating Owlet into this? It would give you a way to return other stuff along with just the term IRIs (e.g. labels, definitions). With Owlet you could just smuggle the DL queries into the existing SPARQL query command. If you are interested I could make some cleanups to Owlet, since it hasn't been touched for a while.

balhoff avatar Oct 26 '18 13:10 balhoff

@balhoff I’d be happy to see Owlet in ROBOT. I think it should be a separate issue.

jamesaoverton avatar Oct 26 '18 13:10 jamesaoverton

Sounds good.

balhoff avatar Oct 26 '18 13:10 balhoff

+1

cmungall avatar Oct 26 '18 17:10 cmungall

Note that I just updated dron-query to be able to accept multiple DL queries from the command line, and direct the output of each query to multiple outputs. In effect, this just means that the --query and --output parameters are now multiple cardinality.

However, the benefit is vast: for DrOn at least, a full reasoning with Hermit or Fact++ takes on the order of hours. Having to do that every time for each query is inefficient. Being able to send multiple queries to run after just one full reasoning is much more efficient.

hoganwr avatar Oct 04 '19 13:10 hoganwr

Very nice.

FYI, we're working on a robot validate command using DL query. Work in progress is here:

  • draft documentation https://github.com/lmcmicu/robot/blob/add_validate_operation/docs/validate.md
  • development branch https://github.com/lmcmicu/robot/tree/add_validate_operation

jamesaoverton avatar Oct 04 '19 15:10 jamesaoverton

What's relationship of this to shape languages?

On Fri, Oct 4, 2019 at 8:07 AM James A. Overton [email protected] wrote:

Very nice.

FYI, we're working on a robot validate command using DL query. Work in progress is here:

  • draft documentation https://github.com/lmcmicu/robot/blob/add_validate_operation/docs/validate.md
  • development branch https://github.com/lmcmicu/robot/tree/add_validate_operation

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ontodev/robot/issues/387?email_source=notifications&email_token=AAAMMOJHAPOZ2WQXABKABT3QM5LZ5A5CNFSM4F7RBTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAL6LYY#issuecomment-538437091, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOOAWZ2MPZTHDYN7HJTQM5LZ5ANCNFSM4F7RBTJA .

cmungall avatar Oct 04 '19 18:10 cmungall

We're using DL query and OWLAPI, so I'd say "no relationship".

jamesaoverton avatar Oct 04 '19 18:10 jamesaoverton

I meant more on the use case - is this for validating ABoxes against a kind of schema?

On Fri, Oct 4, 2019 at 11:23 AM James A. Overton [email protected] wrote:

We're using DL query and OWLAPI, so I'd say "no relationship".

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ontodev/robot/issues/387?email_source=notifications&email_token=AAAMMOKPG3WJDEYLTJU6LS3QM6C3DA5CNFSM4F7RBTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMQCYI#issuecomment-538509665, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOPBPFDJR5C7VO72BJ3QM6C3DANCNFSM4F7RBTJA .

cmungall avatar Oct 04 '19 18:10 cmungall

The main thing I want to do is validate ROBOT templates before building them, so mostly TBoxes. They can contain class expressions in Manchester syntax. The simple case is to make sure all the values in a column are subclass of X, e.g. the OBI assay template has a "Device" column, and if a cell in that column has a value then it the validator enforces that it must be a subclass of the OBI 'device' class. We also have some fancier inter-column validation, e.g. when a value in column A is subclass of X then the corresponding value in column B is part of some Y.

Here are various OBI templates: https://github.com/obi-ontology/obi/tree/master/src/ontology/templates

Here are test files for implementing immune exposure rules that we've defined in a paper:

  • Image: Screen Shot 2019-10-04 at 3 03 50 PM
  • CSV https://github.com/lmcmicu/robot/blob/add_validate_operation/robot-core/src/test/resources/immune_exposures.csv
  • OWL https://github.com/lmcmicu/robot/blob/add_validate_operation/robot-core/src/test/resources/immune_exposures.owl
  • PDF http://ceur-ws.org/Vol-2285/ICBO_2018_paper_41.pdf

jamesaoverton avatar Oct 04 '19 19:10 jamesaoverton

OK, makes sense, thanks!

On Fri, Oct 4, 2019 at 12:08 PM James A. Overton [email protected] wrote:

The main thing I want to do is validate ROBOT templates before building them, so mostly TBoxes. They can contain class expressions in Manchester syntax. The simple case is to make sure all the values in a column are subclass of X, e.g. the OBI assay template has a "Device" column, and if a cell in that column has a value then it the validator enforces that it must be a subclass of the OBI 'device' class. We also have some fancier inter-column validation, e.g. when a value in column A is subclass of X then the corresponding value in column B is part of some Y.

Here are various OBI templates: https://github.com/obi-ontology/obi/tree/master/src/ontology/templates

Here are test files for implementing immune exposure rules that we've defined in a paper:

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ontodev/robot/issues/387?email_source=notifications&email_token=AAAMMOIXWAKSX3N54GAYOYDQM6ICDA5CNFSM4F7RBTJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEAMTWZY#issuecomment-538524519, or mute the thread https://github.com/notifications/unsubscribe-auth/AAAMMOI4I6HPLMWRGW5RENLQM6ICDANCNFSM4F7RBTJA .

cmungall avatar Oct 04 '19 22:10 cmungall