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

Support DL query #387

Open
jamesaoverton opened this issue Oct 26, 2018 · 11 comments · May be fixed by #1139
Open

Support DL query #387

jamesaoverton opened this issue Oct 26, 2018 · 11 comments · May be fixed by #1139

Comments

@jamesaoverton
Copy link
Member

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

@balhoff
Copy link
Contributor

balhoff commented Oct 26, 2018

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.

@jamesaoverton
Copy link
Member Author

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

@balhoff
Copy link
Contributor

balhoff commented Oct 26, 2018

Sounds good.

@cmungall
Copy link
Contributor

cmungall commented Oct 26, 2018 via email

@hoganwr
Copy link

hoganwr commented Oct 4, 2019

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.

@jamesaoverton
Copy link
Member Author

Very nice.

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

@cmungall
Copy link
Contributor

cmungall commented Oct 4, 2019 via email

@jamesaoverton
Copy link
Member Author

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

@cmungall
Copy link
Contributor

cmungall commented Oct 4, 2019 via email

@jamesaoverton
Copy link
Member Author

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:

@cmungall
Copy link
Contributor

cmungall commented Oct 4, 2019 via email

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

Successfully merging a pull request may close this issue.

5 participants