140 likes | 238 Views
A Query Language for WSML-Flight. Sti jn Heymans, Cristina Feier, Jos de Bruijn, Stephan Zöller (IBIS), Emilia Cimpian. Formal Languages Component. Lead: Stijn Heymans Active Members: Stijn Heymans, Cristina Feier, Jos de Bruijn
E N D
A Query Language for WSML-Flight Stijn Heymans, Cristina Feier, Jos de Bruijn, Stephan Zöller (IBIS), Emilia Cimpian
Formal Languages Component • Lead: Stijn Heymans • Active Members: Stijn Heymans, Cristina Feier, Jos de Bruijn • Meetings take place ad hoc, driven by project requirements (e.g., SUPER) as well as requirements from other components (Reasoning).
What is a Query Language? • In general: A query language is used to make queries to a certain knowledge base. • In SUPER: e.g., process mining („what business processes allow me to travel to Antwerp?“) • Criteria: • Compatible with the used knowledge base language („ontology language“) • Efficient querying processing possible, • Conformant to the use case requirements
One step closer to a query language... • SUPER ontology language: WSML-Flight • Efficient reasoning possible • Expressive enough • Consequently, SUPER query language needs to be compatible with WSML-Flight
Query Language coming up... • Use case requirement: Aggregates • Counting the number of processes that started • Listing only the first 10 processes that match a condition
Even closer to a query language... • SQL is nice
Even closer to a query language... • SQL is nice, • And people are used to write SQL queries,
Even closer to a query language... • SQL is nice, • And people are used to write SQL queries, • And it has aggregates.
Here we go: Simple queries SELECT ?pe FROM _"http://www.somewhere.org/somedomain\#someBusinessProcess" WHERE ?pe[generatedBy hasValue ?actor] memberOf evo#successfulExecutionEvent
Ordering, Limiting, Offset, Pattern Matching SELECT ?pe, ?actor FROM _"http://www.somewhere.org/somedomain\#someBusinessProcess" WHERE ?pe[generatedBy hasValue ?actor] memberOf evo#successfulExecutionEvent ORDER BY ?actor LIMIT 2 OFFSET 2 SELECT ?pe, ?actor LIKE A% FROM _"http://www.somewhere.org/somedomain\#someBusinessProcess" WHERE ?pe[generatedBy hasValue ?actor] memberOf evo#successfulExecutionEvent ORDER BY ?actor
Operators: Count, Sum, Max, Min, Avg SELECTCOUNT(?pe), ?actor FROM _"http://www.somewhere.org/somedomain\#someBusinessProcess" WHERE ?pe[generatedBy hasValue ?actor] memberOf evo#successfulExecutionEvent GROUP BY ?actor SELECT ?department, SUM(?sales) FROM o WHERE Q GROUP BY ?department HAVING SUM(?sales) wsml#LessThan 1000;
A Final Word • Development of an easy to use query language • Example of how „Formal Languages“ interacts with „Reasoning“: Prototype implementation ready.