Kory Draughn
Chief Technologist
iRODS Consortium
GenQuery2: A richer query interface into the iRODS namespace
GenQuery2: A richer query interface into the iRODS namespace
February 15, 2023
TRiRODS
Chapel Hill, NC
What is GenQuery?
An SQL-like syntax backed by APIs which allow users to query an iRODS Catalog without needing to know any details about the underlying database schema.
It also enforces the iRODS permission model.
Limitations of GenQuery1
A brief history of GenQuery2
Goals of GenQuery2
*** This is not a reimplementation of GenQuery1 ***
How do we satisfy these Goals?
Approach 1
Use BGL's pre-defined algorithms to derive a path that connects all tables referenced by a query.
Pros / Cons
Approach 2
Use BGL, but replace use of pre-defined algorithms with custom breadth-first search implementation.
Pros / Cons
Approach 3
Use BGL to represent the relationships between database tables and manually craft all SQL based on what we know.
Pros / Cons
GenQuery2 - Demo 1
List all data objects having a metadata attribute name of foo and parent collection having a metadata attribute value of bar.
GenQuery2 - Demo 2
List three data objects, starting with the second one, sorted by parent collection in descending order and data name in ascending order.
GenQuery2 - Demo 3
GenQuery2 - Demo 4
Paging
Remaining Work
Future Work
Community Engagement
Thank you!
Questions?