Title: LarKC Workflow Architecture
1LarKC Workflow Architecture
- Mick Kerrigan
- STI Innsbruck
2LarKC Core Concepts
3LarKC Data Model
Labeled Set
Dataset
RDF Graph
4LarKC Plug-in API General Plug-in Model
Plug-in
URI getIdentifier() QoSInformation
getQoSInformation()
- Plug-ins are identified by a URI (Uniform
Resource Identifier) - Plug-ins provide MetaData about what they do
(Functional properties) e.g. type Selecter - Plug-ins provide information about their
behaviour and needs, including Quality of Service
information (Non-functional properties) e.g.
Throughput, MinMemory, Cost,
5LarKC Plug-in API IDENTIFY
Identifier
CollectionltInformationSetgt identify (Query
theQuery, Contract contract, Context context)
- IDENTIFY Given a query, identify resources that
could be used to answer it - Sindice Triple Pattern Query ? RDF Graphs
- Google Keyword Query ? Natural Language
Document - Triple Store SPARQL Query ? RDF Graphs
6LarKC Plug-in API TRANSFORM (1/2)
QueryTransformer
SetltQuerygt transform(Query theQuery, Contract
theContract, Context theContext)
- Query TRANSFORM Transforms a query from one
representation to another - SPARQL Query ? Triple Pattern Query
- SPARQL Query ? Keyword Query
- SPARQL Query ? SPARQL Query (different
abstraction) - SQARQL Query ? CycL Query
7LarKC Plug-in API TRANSFORM (2/2)
InformationSetTransformer
InformationSet transform(InformationSet
theInformationSet, Contract theContract, Context
theContext)
- Information Set TRANSFORM Transforms data from
one representation to another - Natural Language Document ? RDF Graph
- Structured Data Sources ? RDF Graph
- RDF Graph ? RDF Graph (e.g. foaf vocabulary to
facebook vocabulary)
8LarKC Plug-in API SELECT
Selecter
SetOfStatements select(SetOfStatements
theSetOfStatements, Contract contract, Context
context)
- SELECT Given a set of statements (e.g. a number
of RDF Graphs) will choose a selection/sample
from this set - Collection of RDF Graphs ? Triple Set (Merged)
- Collection of RDF Graphs ? Triple Set (10 of
each) - Collection of RDF Graphs ? Triple Set (N Triples)
9LarKC Plug-in API REASON
Reasoner
VariableBinding sparqlSelect(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
SetOfStatements sparqlConstruct(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
SetOfStatements sparqlDescribe(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
BooleanInformationSet sparqlAsk(SPARQLQuery
theQuery, SetOfStatements theSetOfStatements,
Contract contract, Context context)
- REASON Executes a query against the supplied set
of statements - SPARQL Query ? Variable Binding (Select)
- SPARQL Query ? Set of statements (Construct)
- SPARQL Query ? Set of statements (Describe)
- SPARQL Query ? Boolean (Ask)
10LarKC Plug-in API DECIDE
Decider
VariableBinding sparqlSelect(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
SetOfStatements sparqlConstruct(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
SetOfStatements sparqlDescribe(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
BooleanInformationSet sparqlAsk(SPARQLQuery
theQuery, QoSParameters theQoSParameters)
- DECIDE Builds the workflow and manages the
control flow - Scripted Decider Predefined pipeline is built
and executed - Self-configuring Decider Uses plug-in
descriptions (functional and non-functional
properties) to build the pipeline
11What Does a Workflow Look Like?
Decider
Identifier
Info Set Transformer
Reasoner
Selector
Query Transformer
Data Layer
12What Does a Workflow Look Like?
Decider
Identifier
Info Set Transformer
Reasoner
Selector
Query Transformer
Data Layer
Data Layer
Data Layer
Data Layer
Data Layer
13What Does a Workflow Look Like?
Decider
Identifier
Info Set Transformer
Reasoner
Selector
Query Transformer
14What Does a Workflow Look Like?
Decider
Identifier
Reasoner
Selector
15What Does a Workflow Look Like?
Decider
Reasoner
Selector
16What Does a Workflow Look Like?
Decider
Reasoner
Selector
17What Does a Workflow Look Like?
Decider
Identifier
Info Set Transformer
Reasoner
Selector
Query Transformer
Identifier
Info Set Transformer
Identifier
18LarKC Architecture
Application
Workflow Support System
Plug-in Registry
Platform Utility Functionality
APIs
Plug-ins
External systems
Data Layer API
Data sources
Data Layer
RDF Store
RDF Store
RDF Store
RDF Doc
RDF Doc
RDF Doc
19LarKC Workflow Support System
Plug-in Registry
Workflow Support System
20LarKC Local Execution
Plug-in Registry
Workflow Support System
21LarKC Remote Execution
Plug-in Registry
Workflow Support System
22DIG
DIG Decider
23IRIS
IRIS Decider
24Gate and Cyc
Gate-Cyc Decider
25Urban Computing
Urban City Decider
26WebSPARQL
Web SPARQL Decider