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

Define the CubiQL ontology #40

Open
RickMoynihan opened this issue Oct 13, 2017 · 2 comments
Open

Define the CubiQL ontology #40

RickMoynihan opened this issue Oct 13, 2017 · 2 comments

Comments

@RickMoynihan
Copy link
Member

We need to define an ontology which lets users annotate their data with extra hints to guide our schema generation. This should include featuers to let people specify graphql schema names/id's on codelists/dimensions etc...

@RickMoynihan
Copy link
Member Author

One area where this would be useful is in annotating codelists with cubiql behaviours for observation/dimension filters.

e.g.

  1. perhaps by default (with just a standard DSD) out of the box cubiql should give you basic dim/dim-val locking behaviour but with URI values only for every dimension.
  2. then if you want dims to inherit the current schema-led dim/dim-val locking behaviour you add some triples to the dimension/dimension-vals that describe it.
  3. then if you want skos style hierarchical locking you add that another set of triples for that.
  4. then if you want ordinal/range-period style locking you add more triples for that.

Point is that both RDF and graphql have additive (growing) schema models, and we should design our behaviours so they always grow. As we never want to be in a situation where by adding data we break graphql clients.

In our current cubiql implementation refperiod/refarea don't support enum types (e.g. #55), but all other dimensions do. None currently support search by URI string. By adding triples for 1,2,3|4 to a given dimension you should be able to choose which dimensions support which styles of query.

@BillSwirrl
Copy link
Member

This sounds promising - can we work up an example of the RDF that would be needed to make this work?

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

No branches or pull requests

2 participants