SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Web Scale Reasoning and the
LarKC Project
(Introduction)
Luka Bradeško
Cycorp Europe
Goals of LarKC
LarKC = Large Knowledge Collider
• Build an integrated pluggable platform
for large scale reasoning
• Support for parallelization,
distribution, remote execution, data
2
2
“Significant progress is sometimes made
not by making something possible that was impossible
before, but by substantially lowering the costs
of something that was only possible before at high cost”
distribution, remote execution, data
storage
• Use existing plug-ins, develop new
• Easy integration of components
• Enables low cost experimentation
Overall approach of LarKC
• Very lightweight platform
– communication, synchronisation, registration
– LarKC = “SPARQL endpoint on steroids”
• The real work happens in the plugins
• LarKC gives you:
– very scalable datalayer
3
– very scalable datalayer
– standardised interfaces for combining components
– utilities & infrastructure to abstract from remote deployment
• Three types of LarKC users:
– people building plugins
– people configuring workflows
– people using workflows
Workflow
Support
System
Plug-in
RegistryDecider
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
SPARQL Endpoint, Application
Platform Utility
Functionality
APIs
Plug-ins
LarKC Architecture
Data Layer API
RDF
Store
RDF
Store
RDF
Store
RDF
Doc
RDF
Doc
RDF
Doc
Data Layer
Query
Transformer
Plug-in API
Identifier
Plug-in API
Info. Set
Transformer
Plug-in API
Selecter
Plug-in API
Reasoner
Plug-in API
External
systems
External data
sources
4
LarKC Plug-in API
+ Collection<InformationSet>
identify
(Query theQuery, Contract
contract, Context context)
Identifier
+ Set<Query>
transform(Query theQuery,
Contract theContract,
Context theContext)
QueryTransformer
+ InformationSet
transform(InformationSet
theInformationSet, Contract
theContract, Context
theContext)
InformationSetTransformer
+ SetOfStatements
select(SetOfStatements
theSetOfStatements,
Contract contract, Context
context)
Selecter
+ VariableBinding sparqlSelect(SPARQLQuery theQuery, SetOfStatements
theSetOfStatements, Contract contract, Context context)
Reasoner
• 5 types of plug-ins
• Plug-in API enables interoperability (between plug-in
and platform and between plug-ins)
• Plug-ins I/O abstract data structures of RDF triples =>
flexibility for assembling plug-ins and for plug-in writers
5
+ 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)
+ VariableBinding sparqlSelect(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
+ SetOfStatements sparqlConstruct(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
+ SetOfStatements sparqlDescribe(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
+ BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
Decider
flexibility for assembling plug-ins and for plug-in writers
• Compatibility ensured by DECIDER and workflow
configurators, based on plug-in description
Decider
What does a workflow look like?
Decider
Plug-in APIPlug-in API
Plug-in Manager
Query
Transformer
Plug-in API
Plug-in Manager
Identifier
Plug-in API
Plug-in Manager
Info. Set
Transformer
Plug-in API
Plug-in Manager
Selecter
Plug-in API
Plug-in Manager
Reasoner
Plug-in API
Plug-in
Registry
Workflow
Support
System
RDF
Store
Identifier
Info Set
Transformer
ReasonerSelecter
Query
Transformer
6
What does a workflow look like?
Decider
Info Set
Transformer
Identifier
Identifier
Decider
Plug-in APIPlug-in API
Plug-in Manager
Query
Transformer
Plug-in API
Plug-in Manager
Identifier
Plug-in API
Plug-in Manager
Info. Set
Transformer
Plug-in API
Plug-in Manager
Selecter
Plug-in API
Plug-in Manager
Reasoner
Plug-in API
Plug-in
Registry
Workflow
Support
System
RDF
Store
Identifier
Info Set
Transformer
ReasonerSelecter
Query
Transformer
Data Layer Data Layer Data Layer Data Layer
7
Decider Using Plug-in Registry to Create Workflow
Q
TI
S R
VB
B
D 1.3.1
Represent Properties
• Functional
• Non-functional (e.g. QoS)
• WSMO-Lite Syntax
Represent Properties
• Functional
• Non-functional (e.g. QoS)
• WSMO-Lite Syntax
Q
T
I
S R
VB
A
VB
Logical Representation
• Describes role
• Describes Inputs/Outputs
• Automatically extracted using API
• Decider can use for dynamic configuration
• Rule-based
• Fast
Logical Representation
• Describes role
• Describes Inputs/Outputs
• Automatically extracted using API
• Decider can use for dynamic configuration
• Rule-based
• Fast
8
LarKC Plug-in Managers
Plug-in Manager
Query
Transformer
Plug-in APIPlug-in API
Plug-in Manager
Identifier
Plug-in APIPlug-in API
• Run in separate threads
• Automatically add meta-data to registry when loaded
• Communicate RDF data by value or by reference
• Parallelisation
Plug-in Manager
Transformer
Plug-in APIPlug-in API
Plug-in Manager
Identifier
Plug-in APIPlug-in API
ransformer
Transformer
Transformer
Plug-in Manager
Identifier
Plug-in APIPlug-in API
Plug-in Manager
Identifier
Plug-in APIPlug-in API
Plug-in Manager
Selector
Plug-in API
Plug-in Manager
Selector
Plug-in API
• Split/Join connectors
in progress
9
Example workflow
Query Identify
Transform
GATE
Internet
PREFIX cyc: <http://www.cycfoundation.org/concepts/>
SELECT ?company WHERE
{ ?company cyc:mentionedInArticle
"http://shodan.ijs.si/article.txt" .
?company cyc:isa cyc:PubliclyHeldCorporation }
Select
ReasonResult
Research
Cyc
GATE
Pipeline
Support
System
Plug-in
RegistryDecider
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Application
LarKC Data Layer
Platform Utility
Functionality
APIs
Plug-ins
Data Layer API
RDF
Store
RDF
Store
RDF
Store
RDF
Doc
RDF
Doc
RDF
Doc
Data Layer
Query
Transformer
Plug-in API
Identifier
Plug-in API
Info. Set
Transformer
Plug-in API
Selecter
Plug-in API
Reasoner
Plug-in API
11
External
systems
External data
sources
Data Layer API
Data Layer
LarKC Data Layer
RDF
Graph
RDF
Graph
RDF
Graph
Default
Graph
RDF
Graph
RDF
Graph
Dataset
Labeled Set
Main goal:
• The Data Layer supports LarKC plug-ins:
– storage, retrieval and light-weight inference on top
of large volumes of data
– automates the exchange of RDF data by reference
and by value
12
RDF
Graph
RDF
Graph
RDF
Graph
Graph Graph
RDF
Graph
RDF
Graph
RDF
Graph
RDF
Graph
RDF
Graph
and by value
– offers other utility tools to manage data (e.g.
merger)
Used Concepts in the Data Model
NG1 NG3NG2
Labelled groups
NG4 NG5
Labelled groups
of statements Labelled groups
of statements
Supported Sets of Statements
RDF data types Description Example
Set of statement RDF statements s1, p1, o1, ng1
s2, p2, o2
s3, p3, o3, ng3, {group1}
RDF graph Named graph s1, p1, o1, ng1, {group1}
s2, p2, o2, ng1, {group2}
s3, p3, o3, ng1
Dataset SPARQL dataset
represents a collection
of graphs
s1, p1, o1, ng1
s2, p2, o2, ng2
s3, p3, o3, ng3
Labelled group of
statements
RDF group of
statements
s1, p1, o1, ng1, {group1}
s2, p2, o2, ng2, {group1}
s3, p3, o3, ng3, {group1}
Current Status
15
Released System v1.1: larkc.sourceforge.net
Identify
• SINDICE
• SWOOGLE
• SINDICE
• SWOOGLE
Select
• Spreading
Activation
• Geolocation
• Spreading
Activation
• Geolocation
• Annotate GATE
• Annotate Cyc
• Annotate GATE
• Annotate Cyc
• Open Apache 2.0 license
• Previous early adopters
workshops @ ESWC ’09,10 and
ISWC ‘09
– participants modified plug-ins,
modified workflows
Transform
• Annotate Cyc
• SPARQL-CycL
• Annotate Cyc
• SPARQL-CycL
Reason
• Jena, IRIS, Pellet
• Cyc, PION
• Siemens
• Jena, IRIS, Pellet
• Cyc, PION
• Siemens
Decide
• Scripted: Real-
Time City
• Dynamic Cyc
• Scripted: Real-
Time City
• Dynamic Cyc
Decider
Plug-in API
Plug-in Manager
Query
Transformer
Plug-in API
Plug-in Manager
Identifier
Plug-in API
Plug-in Manager
Info. Set
Transformer
Plug-in API
Plug-in Manager
Selecter
Plug-in API
Plug-in Manager
Reasoner
Plug-in API
Plug-in
Registry
Pipeline
Support
System
Standard Open Environment:
Java, subversion, packaged
release, command line build, or eclipse
16
• Distributed Data Layer
• Caching, data warming/cooling
• Data Streaming between
remote components
Next Steps
• Requirements traceability and
update
• Architecture refinement
Platform validationPlatform validation
remote components
• Experimental instrumentation
and monitoring
17
Early Adopters
End
18
Rapid Progress, but We’re Not Finished…
Pipeline
Support
System
Plug-in
RegistryDecider
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Plug-in Manager
Plug-in API
Application
• Classified according to:
• Sources
– Initial Project Objectives (DoW)
– LarKC Collider Platform (WP5 discussions)
– LarKC Rapid Prototyping
– LarKC Use Cases (WP6, WP7a, WP7b)
– LarKC Plug-ins (WP2, WP3, WP4)
Detailed information
in D5.3.1
Requirements
Analysis and
report on lessons
learned during
prototyping
Requirements (WP 5)• Concentrating on parallel and
distributed execution.
• Optimisation of complex
workflows.
• Extend meta-data
representation for QoS,
parallelism and use it.
• Concentrating on parallel and
distributed data layer; caching
Data Layer API
RDF
Store
RDF
Store
RDF
Store
RDF
Doc
RDF
Doc
RDF
Doc
Data Layer
Query
Transformer
Plug-in API
Identifier
Plug-in API
Info. Set
Transformer
Plug-in API
Selecter
Plug-in API
Reasoner
Plug-in API
– Data Caching
– Anytime Behaviour
– Plug-in Registration and
Discovery
– Plug-in Monitoring and
Measurement
– Support for Developers
– Plug-ins
• Classified according to:
– Resources
– Heterogeneity
– Usage
– Interoperability
– Parallelization “within plug-
ins”
– Distributed/remote execution
– Data Layer
prototyping
distributed data layer; caching
and data migration.
• Support more plug-in needs
while maintaining platform
integrity
• Integrate distributed plug-ins
• Support workflows inspired by
human cognition (e.g. workflow
interruption for optimal stopping)
• Support anytime/streaming
• Experimental instrumentation and
monitoring
19
LarKC Plug-in API: General Plug-in Model
+ URI getIdentifier()
+ QoSInformation getQoSInformation()
Plug-in
Functional
properties
Non-functional
properties
WSDL description
Plug-in
description
• Plug-ins are assembled into Workflows, to realise a LarKC Experiment or Application
• 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,…
• Plug-ins can be provided with a Contract that tells them how to behave (e.g.
Contract : “give me the next 10 results”) and Context information used to store state
between invocations
20
LarKC Plug-in API: IDENTIFY
+ Collection<InformationSet> identify
(Query theQuery, Contract contract, Context
context)
Identifier
• 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
21
LarKC Plug-in API: TRANSFORM (1/2)
Set<Query> transform(Query theQuery, Contract+ Set<Query> transform(Query theQuery, Contract
theContract, Context theContext)
QueryTransformer
• 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)
• SPARQL Query CycL Query
22
LarKC Plug-in API: TRANSFORM (2/2)
+ InformationSet transform(InformationSet
theInformationSet, Contract theContract,
Context theContext)
InformationSetTransformer
• 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)
23
LarKC Plug-in API: SELECT
+ SetOfStatements select(SetOfStatements
theSetOfStatements, Contract contract,
Context context)
Selecter
• 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)
24
LarKC Plug-in API: REASON
+ 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)
Reasoner
• 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)
theSetOfStatements, Contract contract, Context context)
+ BooleanInformationSet sparqlAsk(SPARQLQuery theQuery,
SetOfStatements theSetOfStatements, Contract contract, Context context)
25
LarKC Plug-in API: DECIDE
+ VariableBinding sparqlSelect(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
+ SetOfStatements sparqlConstruct(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
+ SetOfStatements sparqlDescribe(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
Decider
• DECIDE: Builds the workflow and manages the control flow
– Scripted Decider: Predefined workflow is built and executed
– Self-configuring Decider: Uses plug-in descriptions (functional and non-functional
properties) to build the workflow
+ BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, QoSParameters
theQoSParameters)
26

Mais conteúdo relacionado

Mais procurados

Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Bobby Curtis
 
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data AnalysisApache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data AnalysisDataWorks Summit/Hadoop Summit
 
5 Keys to Oracle GoldenGate Implemenations
5 Keys to Oracle GoldenGate Implemenations5 Keys to Oracle GoldenGate Implemenations
5 Keys to Oracle GoldenGate ImplemenationsBobby Curtis
 
Oracle GoldenGate on Docker
Oracle GoldenGate on DockerOracle GoldenGate on Docker
Oracle GoldenGate on DockerBobby Curtis
 
Managing enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemManaging enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemDataWorks Summit
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerSerge Huber
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformBobby Curtis
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight
 
Extreme Replication - RMOUG Presentation
Extreme Replication - RMOUG PresentationExtreme Replication - RMOUG Presentation
Extreme Replication - RMOUG PresentationBobby Curtis
 
Oracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesOracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesBobby Curtis
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVBobby Curtis
 
Data Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and KafkaData Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and KafkaDataWorks Summit
 
The Future of Apache Ambari
The Future of Apache AmbariThe Future of Apache Ambari
The Future of Apache AmbariDataWorks Summit
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateBobby Curtis
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningBobby Curtis
 
Extreme replication at IOUG Collaborate 15
Extreme replication at IOUG Collaborate 15Extreme replication at IOUG Collaborate 15
Extreme replication at IOUG Collaborate 15Bobby Curtis
 
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseUsing Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseDataWorks Summit
 
A Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingA Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingAhmed Soliman
 

Mais procurados (20)

Exachk and oem12c
Exachk and oem12cExachk and oem12c
Exachk and oem12c
 
Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)Database As A Service: OEM + ODA (OOW 15 Presentation)
Database As A Service: OEM + ODA (OOW 15 Presentation)
 
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data AnalysisApache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
Apache Zeppelin + Livy: Bringing Multi Tenancy to Interactive Data Analysis
 
5 Keys to Oracle GoldenGate Implemenations
5 Keys to Oracle GoldenGate Implemenations5 Keys to Oracle GoldenGate Implemenations
5 Keys to Oracle GoldenGate Implemenations
 
Oracle GoldenGate on Docker
Oracle GoldenGate on DockerOracle GoldenGate on Docker
Oracle GoldenGate on Docker
 
Managing enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystemManaging enterprise users in Hadoop ecosystem
Managing enterprise users in Hadoop ecosystem
 
Api design best practice
Api design best practiceApi design best practice
Api design best practice
 
Introducing the Jahia Log Analyzer
Introducing the Jahia Log AnalyzerIntroducing the Jahia Log Analyzer
Introducing the Jahia Log Analyzer
 
ECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp TerraformECO 2022 - OCI and HashiCorp Terraform
ECO 2022 - OCI and HashiCorp Terraform
 
OpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering ExplainedOpenDaylight MD-SAL Clustering Explained
OpenDaylight MD-SAL Clustering Explained
 
Extreme Replication - RMOUG Presentation
Extreme Replication - RMOUG PresentationExtreme Replication - RMOUG Presentation
Extreme Replication - RMOUG Presentation
 
Oracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API ExamplesOracle GoldenGate 18c - REST API Examples
Oracle GoldenGate 18c - REST API Examples
 
Exachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LVExachk and oem12c - IOUG C15LV
Exachk and oem12c - IOUG C15LV
 
Data Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and KafkaData Ingest Self Service and Management using Nifi and Kafka
Data Ingest Self Service and Management using Nifi and Kafka
 
The Future of Apache Ambari
The Future of Apache AmbariThe Future of Apache Ambari
The Future of Apache Ambari
 
Improve PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGateImprove PostgreSQL replication with Oracle GoldenGate
Improve PostgreSQL replication with Oracle GoldenGate
 
Oracle GoldenGate Performance Tuning
Oracle GoldenGate Performance TuningOracle GoldenGate Performance Tuning
Oracle GoldenGate Performance Tuning
 
Extreme replication at IOUG Collaborate 15
Extreme replication at IOUG Collaborate 15Extreme replication at IOUG Collaborate 15
Extreme replication at IOUG Collaborate 15
 
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterpriseUsing Spark Streaming and NiFi for the next generation of ETL in the enterprise
Using Spark Streaming and NiFi for the next generation of ETL in the enterprise
 
A Journey to Reactive Function Programming
A Journey to Reactive Function ProgrammingA Journey to Reactive Function Programming
A Journey to Reactive Function Programming
 

Destaque

LarKC Tutorial at ISWC 2009 - Second Hands-on Scenario
LarKC Tutorial at ISWC 2009 - Second Hands-on ScenarioLarKC Tutorial at ISWC 2009 - Second Hands-on Scenario
LarKC Tutorial at ISWC 2009 - Second Hands-on ScenarioLarKC
 
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC
 
LarKC: the large knowledge collider
LarKC: the large knowledge colliderLarKC: the large knowledge collider
LarKC: the large knowledge colliderFrank van Harmelen
 
Challenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingChallenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingEmanuele Della Valle
 
Iswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: ArchitectureIswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: ArchitectureMichael Witbrock
 
LarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban ComputingLarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban ComputingLarKC
 
Urban Computing in LarKC
Urban Computing in LarKCUrban Computing in LarKC
Urban Computing in LarKCIrene Celino
 

Destaque (7)

LarKC Tutorial at ISWC 2009 - Second Hands-on Scenario
LarKC Tutorial at ISWC 2009 - Second Hands-on ScenarioLarKC Tutorial at ISWC 2009 - Second Hands-on Scenario
LarKC Tutorial at ISWC 2009 - Second Hands-on Scenario
 
LarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data ModelLarKC Tutorial at ISWC 2009 - Data Model
LarKC Tutorial at ISWC 2009 - Data Model
 
LarKC: the large knowledge collider
LarKC: the large knowledge colliderLarKC: the large knowledge collider
LarKC: the large knowledge collider
 
Challenging LarKC with Urban Computing
Challenging LarKC with Urban ComputingChallenging LarKC with Urban Computing
Challenging LarKC with Urban Computing
 
Iswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: ArchitectureIswc 2009 LarKC Tutorial: Architecture
Iswc 2009 LarKC Tutorial: Architecture
 
LarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban ComputingLarKC Tutorial at ISWC 2009 - Urban Computing
LarKC Tutorial at ISWC 2009 - Urban Computing
 
Urban Computing in LarKC
Urban Computing in LarKCUrban Computing in LarKC
Urban Computing in LarKC
 

Semelhante a Web Scale Reasoning and the LarKC Project

Apache spark 2.4 and beyond
Apache spark 2.4 and beyondApache spark 2.4 and beyond
Apache spark 2.4 and beyondXiao Li
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftSerhat Dirik
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop OverviewShubhra Kar
 
Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Cask Data
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018harvraja
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)Spark Summit
 
LarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - ArchitectureLarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - ArchitectureLarKC
 
Scorex, the Modular Blockchain Framework
Scorex, the Modular Blockchain FrameworkScorex, the Modular Blockchain Framework
Scorex, the Modular Blockchain FrameworkAlex Chepurnoy
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...Josef Adersberger
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...QAware GmbH
 
xPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonxPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonClaudiu Barbura
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesSteve Speicher
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorialmarpierc
 
What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?confluent
 
Cowboy Dating with Big Data or DWH Evolution in Action, Борис Трофимов
Cowboy Dating with Big Data or DWH Evolution in Action, Борис ТрофимовCowboy Dating with Big Data or DWH Evolution in Action, Борис Трофимов
Cowboy Dating with Big Data or DWH Evolution in Action, Борис ТрофимовSigma Software
 
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...HostedbyConfluent
 
A Practical Guide To End-to-End Tracing In Event Driven Architectures
A Practical Guide To End-to-End Tracing In Event Driven ArchitecturesA Practical Guide To End-to-End Tracing In Event Driven Architectures
A Practical Guide To End-to-End Tracing In Event Driven ArchitecturesHostedbyConfluent
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaMax Alexejev
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMEconfluent
 
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019UA DevOps Conference
 

Semelhante a Web Scale Reasoning and the LarKC Project (20)

Apache spark 2.4 and beyond
Apache spark 2.4 and beyondApache spark 2.4 and beyond
Apache spark 2.4 and beyond
 
Cloud Native Applications on OpenShift
Cloud Native Applications on OpenShiftCloud Native Applications on OpenShift
Cloud Native Applications on OpenShift
 
StrongLoop Overview
StrongLoop OverviewStrongLoop Overview
StrongLoop Overview
 
Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?Webinar: What's new in CDAP 3.5?
Webinar: What's new in CDAP 3.5?
 
Coherence RoadMap 2018
Coherence RoadMap 2018Coherence RoadMap 2018
Coherence RoadMap 2018
 
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
A Big Data Lake Based on Spark for BBVA Bank-(Oscar Mendez, STRATIO)
 
LarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - ArchitectureLarKC Tutorial at ISWC 2009 - Architecture
LarKC Tutorial at ISWC 2009 - Architecture
 
Scorex, the Modular Blockchain Framework
Scorex, the Modular Blockchain FrameworkScorex, the Modular Blockchain Framework
Scorex, the Modular Blockchain Framework
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
Migrating Hundreds of Legacy Applications to Kubernetes - The Good, the Bad, ...
 
xPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, TachyonxPatterns on Spark, Shark, Mesos, Tachyon
xPatterns on Spark, Shark, Mesos, Tachyon
 
Innovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open InterfacesInnovate2014 Better Integrations Through Open Interfaces
Innovate2014 Better Integrations Through Open Interfaces
 
XSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata TutorialXSEDE14 SciGaP-Apache Airavata Tutorial
XSEDE14 SciGaP-Apache Airavata Tutorial
 
What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?What is Apache Kafka and What is an Event Streaming Platform?
What is Apache Kafka and What is an Event Streaming Platform?
 
Cowboy Dating with Big Data or DWH Evolution in Action, Борис Трофимов
Cowboy Dating with Big Data or DWH Evolution in Action, Борис ТрофимовCowboy Dating with Big Data or DWH Evolution in Action, Борис Трофимов
Cowboy Dating with Big Data or DWH Evolution in Action, Борис Трофимов
 
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
 
A Practical Guide To End-to-End Tracing In Event Driven Architectures
A Practical Guide To End-to-End Tracing In Event Driven ArchitecturesA Practical Guide To End-to-End Tracing In Event Driven Architectures
A Practical Guide To End-to-End Tracing In Event Driven Architectures
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and Scala
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
 
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
ОЛЕГ МАЦЬКІВ «Crash course on Operator Framework» Lviv DevOps Conference 2019
 

Mais de Saltlux Inc.

Semantic techandbigdata(presentation)rev01
Semantic techandbigdata(presentation)rev01Semantic techandbigdata(presentation)rev01
Semantic techandbigdata(presentation)rev01Saltlux Inc.
 
5 소셜빅데이터분석서비스 최광선
5 소셜빅데이터분석서비스 최광선5 소셜빅데이터분석서비스 최광선
5 소셜빅데이터분석서비스 최광선Saltlux Inc.
 
4 voc비정형분석 문종영
4 voc비정형분석 문종영4 voc비정형분석 문종영
4 voc비정형분석 문종영Saltlux Inc.
 
3 빅데이터기반비정형데이터의실시간처리방법 원종석
3 빅데이터기반비정형데이터의실시간처리방법 원종석3 빅데이터기반비정형데이터의실시간처리방법 원종석
3 빅데이터기반비정형데이터의실시간처리방법 원종석Saltlux Inc.
 
2 기업의빅데이터delta전략 이진권
2 기업의빅데이터delta전략 이진권2 기업의빅데이터delta전략 이진권
2 기업의빅데이터delta전략 이진권Saltlux Inc.
 
1 손에잡히는빅데이터 이경일
1 손에잡히는빅데이터 이경일1 손에잡히는빅데이터 이경일
1 손에잡히는빅데이터 이경일Saltlux Inc.
 
SemTech 2011, Saltlux, Tony Lee
SemTech 2011, Saltlux, Tony LeeSemTech 2011, Saltlux, Tony Lee
SemTech 2011, Saltlux, Tony LeeSaltlux Inc.
 
Semtech 2011, Saltlux, Tony Lee
Semtech 2011, Saltlux, Tony LeeSemtech 2011, Saltlux, Tony Lee
Semtech 2011, Saltlux, Tony LeeSaltlux Inc.
 
9.use case geo semantic technology
9.use case geo semantic technology9.use case geo semantic technology
9.use case geo semantic technologySaltlux Inc.
 
6.최광선 semantic search and mining
6.최광선 semantic search and mining6.최광선 semantic search and mining
6.최광선 semantic search and miningSaltlux Inc.
 
semantic search and mining
semantic search and miningsemantic search and mining
semantic search and miningSaltlux Inc.
 
An Introduction to OpenCyc
An Introduction to OpenCycAn Introduction to OpenCyc
An Introduction to OpenCycSaltlux Inc.
 
Cognitive Planning and Learning for Mobile Platforms
Cognitive Planning and Learning for Mobile PlatformsCognitive Planning and Learning for Mobile Platforms
Cognitive Planning and Learning for Mobile PlatformsSaltlux Inc.
 
Industrials Use cases for Semantic Technology
Industrials Use cases for Semantic TechnologyIndustrials Use cases for Semantic Technology
Industrials Use cases for Semantic TechnologySaltlux Inc.
 
The Semantic Technology Business: Europe
The Semantic Technology Business: EuropeThe Semantic Technology Business: Europe
The Semantic Technology Business: EuropeSaltlux Inc.
 
Technology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebTechnology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebSaltlux Inc.
 
Learning Emergent Knowledge from Blog Postings
Learning Emergent Knowledge from Blog PostingsLearning Emergent Knowledge from Blog Postings
Learning Emergent Knowledge from Blog PostingsSaltlux Inc.
 

Mais de Saltlux Inc. (18)

Semantic techandbigdata(presentation)rev01
Semantic techandbigdata(presentation)rev01Semantic techandbigdata(presentation)rev01
Semantic techandbigdata(presentation)rev01
 
5 소셜빅데이터분석서비스 최광선
5 소셜빅데이터분석서비스 최광선5 소셜빅데이터분석서비스 최광선
5 소셜빅데이터분석서비스 최광선
 
4 voc비정형분석 문종영
4 voc비정형분석 문종영4 voc비정형분석 문종영
4 voc비정형분석 문종영
 
3 빅데이터기반비정형데이터의실시간처리방법 원종석
3 빅데이터기반비정형데이터의실시간처리방법 원종석3 빅데이터기반비정형데이터의실시간처리방법 원종석
3 빅데이터기반비정형데이터의실시간처리방법 원종석
 
2 기업의빅데이터delta전략 이진권
2 기업의빅데이터delta전략 이진권2 기업의빅데이터delta전략 이진권
2 기업의빅데이터delta전략 이진권
 
1 손에잡히는빅데이터 이경일
1 손에잡히는빅데이터 이경일1 손에잡히는빅데이터 이경일
1 손에잡히는빅데이터 이경일
 
SemTech 2011, Saltlux, Tony Lee
SemTech 2011, Saltlux, Tony LeeSemTech 2011, Saltlux, Tony Lee
SemTech 2011, Saltlux, Tony Lee
 
Semtech 2011, Saltlux, Tony Lee
Semtech 2011, Saltlux, Tony LeeSemtech 2011, Saltlux, Tony Lee
Semtech 2011, Saltlux, Tony Lee
 
9.use case geo semantic technology
9.use case geo semantic technology9.use case geo semantic technology
9.use case geo semantic technology
 
6.최광선 semantic search and mining
6.최광선 semantic search and mining6.최광선 semantic search and mining
6.최광선 semantic search and mining
 
semantic search and mining
semantic search and miningsemantic search and mining
semantic search and mining
 
An Introduction to OpenCyc
An Introduction to OpenCycAn Introduction to OpenCyc
An Introduction to OpenCyc
 
Cognitive Planning and Learning for Mobile Platforms
Cognitive Planning and Learning for Mobile PlatformsCognitive Planning and Learning for Mobile Platforms
Cognitive Planning and Learning for Mobile Platforms
 
Industrials Use cases for Semantic Technology
Industrials Use cases for Semantic TechnologyIndustrials Use cases for Semantic Technology
Industrials Use cases for Semantic Technology
 
The Semantic Technology Business: Europe
The Semantic Technology Business: EuropeThe Semantic Technology Business: Europe
The Semantic Technology Business: Europe
 
Technology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic WebTechnology Trends for LOD and Semantic Web
Technology Trends for LOD and Semantic Web
 
Learning Emergent Knowledge from Blog Postings
Learning Emergent Knowledge from Blog PostingsLearning Emergent Knowledge from Blog Postings
Learning Emergent Knowledge from Blog Postings
 
1.sos2010 tony
1.sos2010 tony1.sos2010 tony
1.sos2010 tony
 

Web Scale Reasoning and the LarKC Project

  • 1. Web Scale Reasoning and the LarKC Project (Introduction) Luka Bradeško Cycorp Europe
  • 2. Goals of LarKC LarKC = Large Knowledge Collider • Build an integrated pluggable platform for large scale reasoning • Support for parallelization, distribution, remote execution, data 2 2 “Significant progress is sometimes made not by making something possible that was impossible before, but by substantially lowering the costs of something that was only possible before at high cost” distribution, remote execution, data storage • Use existing plug-ins, develop new • Easy integration of components • Enables low cost experimentation
  • 3. Overall approach of LarKC • Very lightweight platform – communication, synchronisation, registration – LarKC = “SPARQL endpoint on steroids” • The real work happens in the plugins • LarKC gives you: – very scalable datalayer 3 – very scalable datalayer – standardised interfaces for combining components – utilities & infrastructure to abstract from remote deployment • Three types of LarKC users: – people building plugins – people configuring workflows – people using workflows
  • 4. Workflow Support System Plug-in RegistryDecider Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API SPARQL Endpoint, Application Platform Utility Functionality APIs Plug-ins LarKC Architecture Data Layer API RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc Data Layer Query Transformer Plug-in API Identifier Plug-in API Info. Set Transformer Plug-in API Selecter Plug-in API Reasoner Plug-in API External systems External data sources 4
  • 5. LarKC Plug-in API + Collection<InformationSet> identify (Query theQuery, Contract contract, Context context) Identifier + Set<Query> transform(Query theQuery, Contract theContract, Context theContext) QueryTransformer + InformationSet transform(InformationSet theInformationSet, Contract theContract, Context theContext) InformationSetTransformer + SetOfStatements select(SetOfStatements theSetOfStatements, Contract contract, Context context) Selecter + VariableBinding sparqlSelect(SPARQLQuery theQuery, SetOfStatements theSetOfStatements, Contract contract, Context context) Reasoner • 5 types of plug-ins • Plug-in API enables interoperability (between plug-in and platform and between plug-ins) • Plug-ins I/O abstract data structures of RDF triples => flexibility for assembling plug-ins and for plug-in writers 5 + 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) + VariableBinding sparqlSelect(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlConstruct(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlDescribe(SPARQLQuery theQuery, QoSParameters theQoSParameters) + BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, QoSParameters theQoSParameters) Decider flexibility for assembling plug-ins and for plug-in writers • Compatibility ensured by DECIDER and workflow configurators, based on plug-in description
  • 6. Decider What does a workflow look like? Decider Plug-in APIPlug-in API Plug-in Manager Query Transformer Plug-in API Plug-in Manager Identifier Plug-in API Plug-in Manager Info. Set Transformer Plug-in API Plug-in Manager Selecter Plug-in API Plug-in Manager Reasoner Plug-in API Plug-in Registry Workflow Support System RDF Store Identifier Info Set Transformer ReasonerSelecter Query Transformer 6
  • 7. What does a workflow look like? Decider Info Set Transformer Identifier Identifier Decider Plug-in APIPlug-in API Plug-in Manager Query Transformer Plug-in API Plug-in Manager Identifier Plug-in API Plug-in Manager Info. Set Transformer Plug-in API Plug-in Manager Selecter Plug-in API Plug-in Manager Reasoner Plug-in API Plug-in Registry Workflow Support System RDF Store Identifier Info Set Transformer ReasonerSelecter Query Transformer Data Layer Data Layer Data Layer Data Layer 7
  • 8. Decider Using Plug-in Registry to Create Workflow Q TI S R VB B D 1.3.1 Represent Properties • Functional • Non-functional (e.g. QoS) • WSMO-Lite Syntax Represent Properties • Functional • Non-functional (e.g. QoS) • WSMO-Lite Syntax Q T I S R VB A VB Logical Representation • Describes role • Describes Inputs/Outputs • Automatically extracted using API • Decider can use for dynamic configuration • Rule-based • Fast Logical Representation • Describes role • Describes Inputs/Outputs • Automatically extracted using API • Decider can use for dynamic configuration • Rule-based • Fast 8
  • 9. LarKC Plug-in Managers Plug-in Manager Query Transformer Plug-in APIPlug-in API Plug-in Manager Identifier Plug-in APIPlug-in API • Run in separate threads • Automatically add meta-data to registry when loaded • Communicate RDF data by value or by reference • Parallelisation Plug-in Manager Transformer Plug-in APIPlug-in API Plug-in Manager Identifier Plug-in APIPlug-in API ransformer Transformer Transformer Plug-in Manager Identifier Plug-in APIPlug-in API Plug-in Manager Identifier Plug-in APIPlug-in API Plug-in Manager Selector Plug-in API Plug-in Manager Selector Plug-in API • Split/Join connectors in progress 9
  • 10. Example workflow Query Identify Transform GATE Internet PREFIX cyc: <http://www.cycfoundation.org/concepts/> SELECT ?company WHERE { ?company cyc:mentionedInArticle "http://shodan.ijs.si/article.txt" . ?company cyc:isa cyc:PubliclyHeldCorporation } Select ReasonResult Research Cyc GATE
  • 11. Pipeline Support System Plug-in RegistryDecider Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Application LarKC Data Layer Platform Utility Functionality APIs Plug-ins Data Layer API RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc Data Layer Query Transformer Plug-in API Identifier Plug-in API Info. Set Transformer Plug-in API Selecter Plug-in API Reasoner Plug-in API 11 External systems External data sources Data Layer API Data Layer
  • 12. LarKC Data Layer RDF Graph RDF Graph RDF Graph Default Graph RDF Graph RDF Graph Dataset Labeled Set Main goal: • The Data Layer supports LarKC plug-ins: – storage, retrieval and light-weight inference on top of large volumes of data – automates the exchange of RDF data by reference and by value 12 RDF Graph RDF Graph RDF Graph Graph Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph and by value – offers other utility tools to manage data (e.g. merger)
  • 13. Used Concepts in the Data Model NG1 NG3NG2 Labelled groups NG4 NG5 Labelled groups of statements Labelled groups of statements
  • 14. Supported Sets of Statements RDF data types Description Example Set of statement RDF statements s1, p1, o1, ng1 s2, p2, o2 s3, p3, o3, ng3, {group1} RDF graph Named graph s1, p1, o1, ng1, {group1} s2, p2, o2, ng1, {group2} s3, p3, o3, ng1 Dataset SPARQL dataset represents a collection of graphs s1, p1, o1, ng1 s2, p2, o2, ng2 s3, p3, o3, ng3 Labelled group of statements RDF group of statements s1, p1, o1, ng1, {group1} s2, p2, o2, ng2, {group1} s3, p3, o3, ng3, {group1}
  • 16. Released System v1.1: larkc.sourceforge.net Identify • SINDICE • SWOOGLE • SINDICE • SWOOGLE Select • Spreading Activation • Geolocation • Spreading Activation • Geolocation • Annotate GATE • Annotate Cyc • Annotate GATE • Annotate Cyc • Open Apache 2.0 license • Previous early adopters workshops @ ESWC ’09,10 and ISWC ‘09 – participants modified plug-ins, modified workflows Transform • Annotate Cyc • SPARQL-CycL • Annotate Cyc • SPARQL-CycL Reason • Jena, IRIS, Pellet • Cyc, PION • Siemens • Jena, IRIS, Pellet • Cyc, PION • Siemens Decide • Scripted: Real- Time City • Dynamic Cyc • Scripted: Real- Time City • Dynamic Cyc Decider Plug-in API Plug-in Manager Query Transformer Plug-in API Plug-in Manager Identifier Plug-in API Plug-in Manager Info. Set Transformer Plug-in API Plug-in Manager Selecter Plug-in API Plug-in Manager Reasoner Plug-in API Plug-in Registry Pipeline Support System Standard Open Environment: Java, subversion, packaged release, command line build, or eclipse 16
  • 17. • Distributed Data Layer • Caching, data warming/cooling • Data Streaming between remote components Next Steps • Requirements traceability and update • Architecture refinement Platform validationPlatform validation remote components • Experimental instrumentation and monitoring 17 Early Adopters
  • 19. Rapid Progress, but We’re Not Finished… Pipeline Support System Plug-in RegistryDecider Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Plug-in Manager Plug-in API Application • Classified according to: • Sources – Initial Project Objectives (DoW) – LarKC Collider Platform (WP5 discussions) – LarKC Rapid Prototyping – LarKC Use Cases (WP6, WP7a, WP7b) – LarKC Plug-ins (WP2, WP3, WP4) Detailed information in D5.3.1 Requirements Analysis and report on lessons learned during prototyping Requirements (WP 5)• Concentrating on parallel and distributed execution. • Optimisation of complex workflows. • Extend meta-data representation for QoS, parallelism and use it. • Concentrating on parallel and distributed data layer; caching Data Layer API RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc Data Layer Query Transformer Plug-in API Identifier Plug-in API Info. Set Transformer Plug-in API Selecter Plug-in API Reasoner Plug-in API – Data Caching – Anytime Behaviour – Plug-in Registration and Discovery – Plug-in Monitoring and Measurement – Support for Developers – Plug-ins • Classified according to: – Resources – Heterogeneity – Usage – Interoperability – Parallelization “within plug- ins” – Distributed/remote execution – Data Layer prototyping distributed data layer; caching and data migration. • Support more plug-in needs while maintaining platform integrity • Integrate distributed plug-ins • Support workflows inspired by human cognition (e.g. workflow interruption for optimal stopping) • Support anytime/streaming • Experimental instrumentation and monitoring 19
  • 20. LarKC Plug-in API: General Plug-in Model + URI getIdentifier() + QoSInformation getQoSInformation() Plug-in Functional properties Non-functional properties WSDL description Plug-in description • Plug-ins are assembled into Workflows, to realise a LarKC Experiment or Application • 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,… • Plug-ins can be provided with a Contract that tells them how to behave (e.g. Contract : “give me the next 10 results”) and Context information used to store state between invocations 20
  • 21. LarKC Plug-in API: IDENTIFY + Collection<InformationSet> identify (Query theQuery, Contract contract, Context context) Identifier • 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 21
  • 22. LarKC Plug-in API: TRANSFORM (1/2) Set<Query> transform(Query theQuery, Contract+ Set<Query> transform(Query theQuery, Contract theContract, Context theContext) QueryTransformer • 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) • SPARQL Query CycL Query 22
  • 23. LarKC Plug-in API: TRANSFORM (2/2) + InformationSet transform(InformationSet theInformationSet, Contract theContract, Context theContext) InformationSetTransformer • 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) 23
  • 24. LarKC Plug-in API: SELECT + SetOfStatements select(SetOfStatements theSetOfStatements, Contract contract, Context context) Selecter • 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) 24
  • 25. LarKC Plug-in API: REASON + 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) Reasoner • 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) theSetOfStatements, Contract contract, Context context) + BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, SetOfStatements theSetOfStatements, Contract contract, Context context) 25
  • 26. LarKC Plug-in API: DECIDE + VariableBinding sparqlSelect(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlConstruct(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlDescribe(SPARQLQuery theQuery, QoSParameters theQoSParameters) Decider • DECIDE: Builds the workflow and manages the control flow – Scripted Decider: Predefined workflow is built and executed – Self-configuring Decider: Uses plug-in descriptions (functional and non-functional properties) to build the workflow + BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, QoSParameters theQoSParameters) 26