Support DL query
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
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 I’d be happy to see Owlet in ROBOT. I think it should be a separate issue.
Sounds good.
+1
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.
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
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 .
We're using DL query and OWLAPI, so I'd say "no relationship".
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 .
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:

- 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
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:
- Image: [image: Screen Shot 2019-10-04 at 3 03 50 PM] https://user-images.githubusercontent.com/292409/66233084-74d50800-e6b8-11e9-86da-89ce1ae15f90.png
- 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
— 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 .