140 likes | 247 Views
This document focuses on the development of a query language tailored for WSML-Flight within the SUPER framework. Key contributors include Stijn Heymans, Cristina Feier, and Jos de Bruijn, with a motivation to enhance querying capabilities for knowledge bases like process mining. The language aims for compatibility with existing ontology languages and emphasizes efficient processing, conforming to use case requirements. Simple SQL-like queries are illustrated, showcasing how the proposed language can count, limit, and aggregate data effectively, offering an easy-to-use solution for users.
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.