SlideShare une entreprise Scribd logo
1  sur  31
LarKC Architecture and Technology Michael Witbrock, Cycorp Europe (+UIBK) with contributions from all LarKC developers
Realising the Architecture Workflow Support System Plug-in Manager Plug-in Registry Plug-in API Data Layer API RDF Store Data Layer 2
LarKC Plug-in API: General Plug-in Model ,[object Object]
Non-functionalproperties
WSDL descriptionPlug-in Plug-in  description + URI getIdentifier() + QoSInformationgetQoSInformation() 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 3
LarKC Plug-in API: IDENTIFY Identifier  + Collection<InformationSet> identify (Query theQuery, Contractcontract, Contextcontext) IDENTIFY: Given a query, identify resources that could be used to answer it ,[object Object]
Google – Keyword Query  Natural Language Document
Triple Store – SPARQL Query  RDF Graphs4
LarKC Plug-in API: TRANSFORM (1/2) QueryTransformer + Set<Query> transform(Query theQuery, Contract theContract, Context theContext) Query TRANSFORM: Transforms a query from one representation to another  ,[object Object]
SPARQL Query  Keyword Query
SPARQL Query  SPARQL Query (different abstraction)
SQARQL Query  CycL Query5
LarKC Plug-in API: TRANSFORM (2/2) InformationSetTransformer + InformationSettransform(InformationSettheInformationSet, ContracttheContract, ContexttheContext) Information Set TRANSFORM: Transforms data from one representation to another ,[object Object]
Structured Data Sources  RDF Graph
RDF Graph  RDF Graph (e.g. foaf vocabulary to facebook vocabulary)6
LarKC Plug-in API: SELECT Selecter + SetOfStatements select(SetOfStatementstheSetOfStatements, Contract contract, Contextcontext) 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) 7
LarKC Plug-in API: REASON Reasoner + VariableBindingsparqlSelect(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + SetOfStatementssparqlConstruct(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + SetOfStatementssparqlDescribe(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + BooleanInformationSetsparqlAsk(SPARQLQuerytheQuery,  SetOfStatementstheSetOfStatements, 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) 8
LarKC Plug-in API: DECIDE Decider + VariableBindingsparqlSelect(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + SetOfStatementssparqlConstruct(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + SetOfStatementssparqlDescribe(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + BooleanInformationSetsparqlAsk(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) 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 9
Released System: larkc.sourceforge.net ,[object Object]
Previous early adopters workshop @ ESWC
20 people attended
participants modified plug-ins, modified workflowsStandard Open Environment: subversion connection, command line build, or eclipse, netbeans soon? Plug-in API Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Plug-in Registry Pipeline Support System 10
LarKC Plug-in API 11 Decider Reasoner Identifier  QueryTransformer InformationSetTransformer Selecter + VariableBinding sparqlSelect(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlConstruct(SPARQLQuery theQuery, QoSParameters theQoSParameters) + SetOfStatements sparqlDescribe(SPARQLQuery theQuery, QoSParameters theQoSParameters) + BooleanInformationSet sparqlAsk(SPARQLQuery theQuery, QoSParameters theQoSParameters) + 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) ,[object Object]
 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
 Compatibility ensured by DECIDER and workflow configurators, based on plug-in description+ Collection<InformationSet> identify (Query theQuery, Contract contract, Context context) + Set<Query> transform(Query theQuery, Contract theContract, Context theContext) + InformationSet transform(InformationSet theInformationSet, Contract theContract, Context theContext) + SetOfStatements select(SetOfStatements theSetOfStatements, Contract contract, Context context)
LarKC Architecture Application Plug-in API Decider Pipeline Support System Plug-in Registry Plug-in API Platform Utility Functionality Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager APIs Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Plug-ins Query Transformer Identifier Selecter Reasoner Info. Set Transformer Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API External systems External data sources Data Layer API Data Layer RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc LarKC Plug-in API 12
Plug-in API Decider Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Store What does a workflow look like? 13
What Does a Workflow Look Like? Plug-in API Default Graph Decider Decider RDF Graph RDF Graph Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager RDF Graph RDF Graph RDF Graph Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Graph RDF Graph Data Layer Data Layer Data Layer Data Layer RDF Store RDF Graph 14
LarKC Data Model :Transport By Reference Labeled Set:  Pointers to data Dataset: Collection of named graphs Default Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph         Current Scale:             O(1010) triples 15
What Does a Workflow Look Like?   Plug-in API Default Graph Decider Decider RDF Graph RDF Graph Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager RDF Graph RDF Graph RDF Graph Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Graph RDF Graph Data Layer Data Layer Data Layer Data Layer RDF Store RDF Graph 16

Contenu connexe

Tendances

Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseBrendan Tierney
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Julian Hyde
 
Building a GraphQL API in PHP
Building a GraphQL API in PHPBuilding a GraphQL API in PHP
Building a GraphQL API in PHPAndrew Rota
 
Spark Cassandra Connector: Past, Present, and Future
Spark Cassandra Connector: Past, Present, and FutureSpark Cassandra Connector: Past, Present, and Future
Spark Cassandra Connector: Past, Present, and FutureRussell Spitzer
 
Functional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsFunctional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsRuben Verborgh
 
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceDatabricks
 

Tendances (6)

Overview of running R in the Oracle Database
Overview of running R in the Oracle DatabaseOverview of running R in the Oracle Database
Overview of running R in the Oracle Database
 
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
Apache Calcite: A Foundational Framework for Optimized Query Processing Over ...
 
Building a GraphQL API in PHP
Building a GraphQL API in PHPBuilding a GraphQL API in PHP
Building a GraphQL API in PHP
 
Spark Cassandra Connector: Past, Present, and Future
Spark Cassandra Connector: Past, Present, and FutureSpark Cassandra Connector: Past, Present, and Future
Spark Cassandra Connector: Past, Present, and Future
 
Functional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIsFunctional Composition of Sensor Web APIs
Functional Composition of Sensor Web APIs
 
Introducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data ScienceIntroducing DataFrames in Spark for Large Scale Data Science
Introducing DataFrames in Spark for Large Scale Data Science
 

En vedette

International Exchange Program
International Exchange ProgramInternational Exchange Program
International Exchange ProgramLaura Wood
 
UX Lx Lightning Talk 2013 : Erasmux Exchange Program
UX Lx Lightning Talk 2013 : Erasmux Exchange ProgramUX Lx Lightning Talk 2013 : Erasmux Exchange Program
UX Lx Lightning Talk 2013 : Erasmux Exchange ProgramLaurent Barbat
 
The Key To Successful International Assignments - Crossroads Global
The Key To Successful International Assignments - Crossroads GlobalThe Key To Successful International Assignments - Crossroads Global
The Key To Successful International Assignments - Crossroads GlobalCrossroads Global Ltd
 
Preparing People For an International Assignment
Preparing People For an International AssignmentPreparing People For an International Assignment
Preparing People For an International AssignmentVelita Furtado
 
Global eXchange Program
Global eXchange ProgramGlobal eXchange Program
Global eXchange ProgramAIESEC Medina
 
Brazilian-Canada - Fellowship Exchange Program Debriefing
Brazilian-Canada - Fellowship Exchange Program DebriefingBrazilian-Canada - Fellowship Exchange Program Debriefing
Brazilian-Canada - Fellowship Exchange Program DebriefingEvandro Manara Miletto
 

En vedette (6)

International Exchange Program
International Exchange ProgramInternational Exchange Program
International Exchange Program
 
UX Lx Lightning Talk 2013 : Erasmux Exchange Program
UX Lx Lightning Talk 2013 : Erasmux Exchange ProgramUX Lx Lightning Talk 2013 : Erasmux Exchange Program
UX Lx Lightning Talk 2013 : Erasmux Exchange Program
 
The Key To Successful International Assignments - Crossroads Global
The Key To Successful International Assignments - Crossroads GlobalThe Key To Successful International Assignments - Crossroads Global
The Key To Successful International Assignments - Crossroads Global
 
Preparing People For an International Assignment
Preparing People For an International AssignmentPreparing People For an International Assignment
Preparing People For an International Assignment
 
Global eXchange Program
Global eXchange ProgramGlobal eXchange Program
Global eXchange Program
 
Brazilian-Canada - Fellowship Exchange Program Debriefing
Brazilian-Canada - Fellowship Exchange Program DebriefingBrazilian-Canada - Fellowship Exchange Program Debriefing
Brazilian-Canada - Fellowship Exchange Program Debriefing
 

Similaire à Iswc 2009 LarKC Tutorial: Architecture

Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectSaltlux Inc.
 
Parallelizing Existing R Packages
Parallelizing Existing R PackagesParallelizing Existing R Packages
Parallelizing Existing R PackagesCraig Warman
 
Microsoft R - ScaleR Overview
Microsoft R - ScaleR OverviewMicrosoft R - ScaleR Overview
Microsoft R - ScaleR OverviewKhalid Salama
 
Dot Net 串接 SAP
Dot Net 串接 SAPDot Net 串接 SAP
Dot Net 串接 SAPLearningTech
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...Debraj GuhaThakurta
 
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...Debraj GuhaThakurta
 
Parallelize R Code Using Apache Spark
Parallelize R Code Using Apache Spark Parallelize R Code Using Apache Spark
Parallelize R Code Using Apache Spark Databricks
 
Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in RealtimeDataWorks Summit
 
Apache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesApache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesWalaa Hamdy Assy
 
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonApache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonChristian Perone
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Serverswebhostingguy
 
Hatkit Project - Datafiddler
Hatkit Project - DatafiddlerHatkit Project - Datafiddler
Hatkit Project - Datafiddlerholiman
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleEvan Chan
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCLDAPCon
 
High-level Programming Languages: Apache Pig and Pig Latin
High-level Programming Languages: Apache Pig and Pig LatinHigh-level Programming Languages: Apache Pig and Pig Latin
High-level Programming Languages: Apache Pig and Pig LatinPietro Michiardi
 
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick Wendell
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick WendellApache® Spark™ 1.6 presented by Databricks co-founder Patrick Wendell
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick WendellDatabricks
 
Microsoft R - Data Science at Scale
Microsoft R - Data Science at ScaleMicrosoft R - Data Science at Scale
Microsoft R - Data Science at ScaleSascha Dittmann
 
Apache Big Data EU 2015 - Phoenix
Apache Big Data EU 2015 - PhoenixApache Big Data EU 2015 - Phoenix
Apache Big Data EU 2015 - PhoenixNick Dimiduk
 
A Tale of Two APIs: Using Spark Streaming In Production
A Tale of Two APIs: Using Spark Streaming In ProductionA Tale of Two APIs: Using Spark Streaming In Production
A Tale of Two APIs: Using Spark Streaming In ProductionLightbend
 

Similaire à Iswc 2009 LarKC Tutorial: Architecture (20)

Web Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC ProjectWeb Scale Reasoning and the LarKC Project
Web Scale Reasoning and the LarKC Project
 
Parallelizing Existing R Packages
Parallelizing Existing R PackagesParallelizing Existing R Packages
Parallelizing Existing R Packages
 
Microsoft R - ScaleR Overview
Microsoft R - ScaleR OverviewMicrosoft R - ScaleR Overview
Microsoft R - ScaleR Overview
 
Dot Net 串接 SAP
Dot Net 串接 SAPDot Net 串接 SAP
Dot Net 串接 SAP
 
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
TDWI Accelerate, Seattle, Oct 16, 2017: Distributed and In-Database Analytics...
 
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
TWDI Accelerate Seattle, Oct 16, 2017: Distributed and In-Database Analytics ...
 
Parallelize R Code Using Apache Spark
Parallelize R Code Using Apache Spark Parallelize R Code Using Apache Spark
Parallelize R Code Using Apache Spark
 
Visualizing Big Data in Realtime
Visualizing Big Data in RealtimeVisualizing Big Data in Realtime
Visualizing Big Data in Realtime
 
Apache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & librariesApache spark - Architecture , Overview & libraries
Apache spark - Architecture , Overview & libraries
 
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and PythonApache Spark - Intro to Large-scale recommendations with Apache Spark and Python
Apache Spark - Intro to Large-scale recommendations with Apache Spark and Python
 
Semantic Web Servers
Semantic Web ServersSemantic Web Servers
Semantic Web Servers
 
Hatkit Project - Datafiddler
Hatkit Project - DatafiddlerHatkit Project - Datafiddler
Hatkit Project - Datafiddler
 
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza SeattleBuilding Scalable Data Pipelines - 2016 DataPalooza Seattle
Building Scalable Data Pipelines - 2016 DataPalooza Seattle
 
Synchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSCSynchronize AD and OpenLDAP with LSC
Synchronize AD and OpenLDAP with LSC
 
High-level Programming Languages: Apache Pig and Pig Latin
High-level Programming Languages: Apache Pig and Pig LatinHigh-level Programming Languages: Apache Pig and Pig Latin
High-level Programming Languages: Apache Pig and Pig Latin
 
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick Wendell
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick WendellApache® Spark™ 1.6 presented by Databricks co-founder Patrick Wendell
Apache® Spark™ 1.6 presented by Databricks co-founder Patrick Wendell
 
Microsoft R - Data Science at Scale
Microsoft R - Data Science at ScaleMicrosoft R - Data Science at Scale
Microsoft R - Data Science at Scale
 
Apache Big Data EU 2015 - Phoenix
Apache Big Data EU 2015 - PhoenixApache Big Data EU 2015 - Phoenix
Apache Big Data EU 2015 - Phoenix
 
A Tale of Two APIs: Using Spark Streaming In Production
A Tale of Two APIs: Using Spark Streaming In ProductionA Tale of Two APIs: Using Spark Streaming In Production
A Tale of Two APIs: Using Spark Streaming In Production
 
SPARQList
SPARQListSPARQList
SPARQList
 

Dernier

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Dernier (20)

A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Iswc 2009 LarKC Tutorial: Architecture

  • 1. LarKC Architecture and Technology Michael Witbrock, Cycorp Europe (+UIBK) with contributions from all LarKC developers
  • 2. Realising the Architecture Workflow Support System Plug-in Manager Plug-in Registry Plug-in API Data Layer API RDF Store Data Layer 2
  • 3.
  • 5. WSDL descriptionPlug-in Plug-in description + URI getIdentifier() + QoSInformationgetQoSInformation() 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 3
  • 6.
  • 7. Google – Keyword Query  Natural Language Document
  • 8. Triple Store – SPARQL Query  RDF Graphs4
  • 9.
  • 10. SPARQL Query  Keyword Query
  • 11. SPARQL Query  SPARQL Query (different abstraction)
  • 12. SQARQL Query  CycL Query5
  • 13.
  • 14. Structured Data Sources  RDF Graph
  • 15. RDF Graph  RDF Graph (e.g. foaf vocabulary to facebook vocabulary)6
  • 16. LarKC Plug-in API: SELECT Selecter + SetOfStatements select(SetOfStatementstheSetOfStatements, Contract contract, Contextcontext) 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) 7
  • 17. LarKC Plug-in API: REASON Reasoner + VariableBindingsparqlSelect(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + SetOfStatementssparqlConstruct(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + SetOfStatementssparqlDescribe(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, Contract contract, Context context) + BooleanInformationSetsparqlAsk(SPARQLQuerytheQuery, SetOfStatementstheSetOfStatements, 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) 8
  • 18. LarKC Plug-in API: DECIDE Decider + VariableBindingsparqlSelect(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + SetOfStatementssparqlConstruct(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + SetOfStatementssparqlDescribe(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) + BooleanInformationSetsparqlAsk(SPARQLQuerytheQuery, QoSParameterstheQoSParameters) 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 9
  • 19.
  • 20. Previous early adopters workshop @ ESWC
  • 22. participants modified plug-ins, modified workflowsStandard Open Environment: subversion connection, command line build, or eclipse, netbeans soon? Plug-in API Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Plug-in Registry Pipeline Support System 10
  • 23.
  • 24. Plug-in API enables interoperability (between plug-in and platform and between plug-ins)
  • 25. Plug-ins I/O abstract data structures of RDF triples => flexibility for assembling plug-ins and for plug-in writers
  • 26. Compatibility ensured by DECIDER and workflow configurators, based on plug-in description+ Collection<InformationSet> identify (Query theQuery, Contract contract, Context context) + Set<Query> transform(Query theQuery, Contract theContract, Context theContext) + InformationSet transform(InformationSet theInformationSet, Contract theContract, Context theContext) + SetOfStatements select(SetOfStatements theSetOfStatements, Contract contract, Context context)
  • 27. LarKC Architecture Application Plug-in API Decider Pipeline Support System Plug-in Registry Plug-in API Platform Utility Functionality Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager APIs Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Plug-ins Query Transformer Identifier Selecter Reasoner Info. Set Transformer Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API External systems External data sources Data Layer API Data Layer RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc LarKC Plug-in API 12
  • 28. Plug-in API Decider Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Store What does a workflow look like? 13
  • 29. What Does a Workflow Look Like? Plug-in API Default Graph Decider Decider RDF Graph RDF Graph Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager RDF Graph RDF Graph RDF Graph Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Graph RDF Graph Data Layer Data Layer Data Layer Data Layer RDF Store RDF Graph 14
  • 30. LarKC Data Model :Transport By Reference Labeled Set: Pointers to data Dataset: Collection of named graphs Default Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph Current Scale: O(1010) triples 15
  • 31. What Does a Workflow Look Like? Plug-in API Default Graph Decider Decider RDF Graph RDF Graph Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager RDF Graph RDF Graph RDF Graph Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System RDF Graph RDF Graph Data Layer Data Layer Data Layer Data Layer RDF Store RDF Graph 16
  • 32. What Does a Pipeline Look Like? Plug-in API Decider Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Info Set Transformer Identifier Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Identifier Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Wlorkflow Support System Data Layer Data Layer Data Layer Data Layer RDF Store 17
  • 33. Remote and Heterogeneous Plug-ins Remote Plug-in Manager TRANSFORM TRANSFORM IDENTIFY IDENTIFY Adaptor SPARQL- GATE API SPARQL SPARQL-CycL SPARQL External or non-Java Code Research Cyc GATE Data Layer SINDICE Medical Data 18
  • 34. What Does a Workflow Look Like? Plug-in API Decider Decider Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Reasoner Info Set Transformer Identifier Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Selecter Query Transformer Identifier Reasoner Info. Set Transformer Info Set Transformer Identifier Info Set Transformer Identifier Selecter Query Transformer Reasoner Plug-in Registry Workflow Support System Data Layer Data Layer Data Layer Data Layer RDF Store 19
  • 35.
  • 37.
  • 40. Decider can use for dynamic configuration
  • 42. FastA B S R S R VB VB 20
  • 43.
  • 44. Run in separate threads
  • 45. Automatically add meta-data to registry when loaded
  • 46.
  • 47. Application Plug-in API Decider Pipeline Support System Plug-in Registry Platform Utility Functionality Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager Plug-in Manager APIs Plug-in API Plug-in API Plug-in API Plug-in API Plug-in API Plug-ins Query Transformer Identifier Selecter Reasoner Info. Set Transformer Data Layer API Data Layer RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc LarKC Data Layer 22 External systems Data Layer API External data sources Data Layer
  • 48. LarKC Data Layer 23 Main goal: The LarKC Data Layer supports all LarKC plug-ins with respect to: storage, retrieval and light-weight inference on top of large volumes of data automates the exchange of RDF data by reference and by value offers other utility tools to manage data (e.g. merger) Labeled Set Default Graph Dataset RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph RDF Graph
  • 49. The implementation of the data layer was evaluated against Well-known benchmarks: LUBM (Lehigh Univ. Benchmark) and BSBM (Berlin SPARQL Benchmark), and Two views to the web of linked data used in LarKC: PIKB (Pathway and Interaction Knowledge Base) and LDSR (Linked Data Semantic Repository) Loading: 15B statements at 18 KSt/sec. on $10,000 server 1B statements at 66 KSt/sec. on $2,000 desktop Reasoning & Materialization: LUBM: 21 KSt/sec for 1BSt and 10 KSt/sec for 7B expl. statements LDSR: 14 KSt/sec for 357M expl. statements PIKB: 10 KSt/sec for 1.5B expl. Statements Competitive with State of the Art 24 LarKC Data Layer Performance
  • 50. 25 LarKC Data Layer Evaluation: Loading
  • 51. Inference with both LDSR and PIKB prove to be much more complex than LUBM, because The datasets are much better interconnected There are plenty of owl:sameAs links OWL vocabulary is used disregarding its formal semantics E.g. in DBPedia there are skos:broader cycles of categories with length 180 Optimizations of the handling of owl:sameAs are crucial PIKB: 1.47B explicit statements + 842M inferred LDSR loaded in 7 hours on desktop: Number of imported statements (NIS): 357M Number of new inferred statements: 512M Number of stored statements (NSS): 869M Number of retrievable statements (NRS): 1.14B owl:sameAs optimisation allowed reducing the indices by 280M statements 26 LarKC Data Layer Evaluation: Linked Data
  • 52.
  • 53. In the twenties of plug-ins already
  • 54. Plug-ins written with little help from architects
  • 55. Plug-ins run successfully, and perform together
  • 57. OKKAM, NeOn, AberdeenPlug-in Manager Plug-in API Identifier 27
  • 58. Active and Ready for the Public 2170 check-outs 1380 commits 23 users of code repository LarKC + Alpha Plus Early Adopters Workshop branch 20 downloads of alpha 1 public release since 30th May 2009. 28
  • 59. Lessons Learned (1/2) API Design Types of Plug-ins: 5 (+1 => 2 types of TRANSFORM) I/O data structures more abstract => more flexibility for assembling plug-ins and for plug-in writers Test API Implementation Validation and refinement of API (introduction of ‘Contract’ and ‘Context’ parameters) Transforming Cyc into LarKC Platform Minimization and reorganization of Cyc code as a basis for the LarKC Platform Plug-ins and Use cases implementation Feedback collected, as our first early adopters, on different topics (how-to guidelines, context parameter, plug-ins types, data caching,…) 29
  • 60. Lessons Learned (2/2) Licensing: Licensing policies aligned with partners’ and project’s interests => maximize openess and external contributions without preventing from exploitation Components’ licenses monitoring to avoid conflicts MaRVIN and IBIS: strategy applicable to large-scale deployment, autonomous and symmetric nodes, asynchronous communication between nodes, well-balanced load needed abstraction layer hiding resources heterogeneity (IBIS) 30
  • 61. Project Timeline 42 0 6 18 33 10 Use Cases V2 Use Cases V3 Use Cases V1 Plug-ins Surveys (plug-ins, platform) & Requirements (use cases) Offer computing resources Monitoring & instrumentation Anytime behaviour Prototype Internal Release Public Release Final Release Data caching 14 31
  • 62.
  • 63. Extend meta-data representation for QoS, parallelism and use it.
  • 64. Concentrate on parallel and distributed execution.
  • 65. Concentrate on parallel and distributed data layer; caching and data migration.
  • 66. Support more plug-in needs while maintaining platform integrity (e.g. efficient weight modification for spreading activation)
  • 67.
  • 69. LarKC Collider Platform (WP5 discussions)
  • 71. LarKC Use Cases (WP6, WP7a, WP7b)
  • 72.
  • 75. Usage
  • 85.
  • 87. Experimental instrumentation and monitoringData Layer RDF Store RDF Store RDF Store RDF Doc RDF Doc RDF Doc 32
  • 88.
  • 90. fin

Notes de l'éditeur

  1. We’ve implemented a platform that realizes the goal of the proposal: Supporting the experimentation that allow massive, and necessarily incomplete, reasoning over web scale data. Most of the work will be in the plug-ins, and we’ve already got interesting ones that we’ll demonstrate, but to support them, we’ve added services that support the plug-ins in as lightweight a fashion as possible, but no more. This includes the workflow support system, that allows the plug-ins to execute, in the right order; a plug-in management system that integrates the plug-ins with the platform and a plug-in registry, which supports meta-reasoning and quality of service, and a data-layer, designed to make handling massive data practical.We also provide a default RDF store, and default meta-reasoning support, and are currently working on the first versions of parallelisation support.
  2. GiveexampleofMetaData (include in slides) andQoSinfo => isthisincluded in WP1 ppt?? GiveexampleofContractandContextparameters"are they web services?".At the moment they are not and much of the WSDL parts are empty.The reason to use WSDL at all is that WSMO-Lite SAWSDL with a WSMO-Lite ontology and SAWSDL is an extension of WSDL.And anyway, maybe they will be full-fledged WSDL web services one day.
  3. "What is a triple pattern?"
  4. Better example for the last bullet would be foaf vocabulary to facebook vocabulary.
  5. "What is a triple pattern?“During the implementation of the first prototype it was realised that there are essentially two types of transform components in a workflow. The first prototype workflow used the Sindice [10] Web service to ‘identify’ RDF resources on the Web that could be used to answer the input SPARQL query. However, the Sindice service comes in two forms – triple pattern search and keyword search – neither of which can use the input SPARQL query directly. Indeed similar services such as SWOOGLE and Watson also use a variety of input data forms. Hence it became clear that a transformation of the input SPARQL query is required and to facilitate this, a new plug-in interface was created, ‘QueryTransformer’, as a special case of TRANSFORM plug-in. Originally, it was planned for plug-ins to accept and return certain data structures that were identified from the proposed LarKC data model. For example, it made sense that a SELECT plug-in would accept a collection of RDF graphs (data-set) and return a subset of these triples (triple-set). However, this approach meant that it became impossible to wire together two select components in series in a workflow without significant extra programming. So after several revisions of the API, it was realised that from a plug-in’s point of view, the type of the data structures used as input was not relevant. The plug-in just needs to be able to access and process the triples. Therefore, the plug-in interfaces were modified to accept and return only the most abstract data structures containing RDF triples, thus imposing less restrictions on how plug-ins are assembled in a workflow and giving plug-in writers greater freedom to return RDF triples in data-structures appropriate for the algorithm encapsulated within their plug-in. Ensuring compatibility between plug-ins will be done by the DECIDER plug-ins and/or workflow configurators, based on plug-ins metadata (plug-ins description through plug-in annotation language).
  6. Remember here the overal architecture picture from Michael´s presentation, in order to introducte the details in next slides (APIs,…) Mention shortly what we will explain later and where in the platform it is located: APIs, parallelization/distribution (where they are “hidden” within the arch picture)Purple = Platform Utility FunctionalityGreen = APIsBlue = Plug-ins (Not sure if Data Layer should be viewed as a plug-in and thus blue)Orange = external systemsRed = external data sources
  7. LarKC workflows are more like work flows.
  8. LarKC workflows are more like work flows.
  9. The LarKC data model allows triple sets to be physically moved between plug-ins, but this can be expensive, especially during identification and selection, so the data layer also supports the transfer of references to named sets of triples in an RDF store or out in the web.
  10. LarKC workflows are more like work flows,Data transfer can be virtualised
  11. LarKC workflows are more like work flows,Data transfer can be virtualised
  12. - heterogenous: - heterogenous data: TRANSFORM, combine text and triples, (WP7 – gate and medical data)  combine different vocabularies - heterogenous code: wrappers, combine new & legacy, java & non-java,  local code and calling a web-service, etc
  13. LarKC workflows are more like work flows,Data transfer can be virtualised
  14. Meta-reasoning can dynamically construct, or reorder workflows. A decider, reasoning about the contents of the plug-in registry, here, constructs two different workflows to answer the same query, when provided with two different sets of plugins, A, and B.Logical representation of plug-in’s meta-dataPlug-in rolesDescription of inputs and outputsLogical representation automatically extracted using only the functions from the API and Java classesCan automatically assemble API v0.2 plug-ins into working workflowUsing predefined rules for composing plug-insFast – can be done in on the flyOngoing:Adding QoS parameters to the meta-dataUse QoS parameters at assembling and modifying pipe-lines
  15. Remember here the overal architecture picture from Michael´s presentation, in order to introducte the details in next slides (APIs,…) Mention shortly what we will explain later and where in the platform it is located: APIs, parallelization/distribution (where they are “hidden” within the arch picture)Purple = Platform Utility FunctionalityGreen = APIsBlue = Plug-ins (Not sure if Data Layer should be viewed as a plug-in and thus blue)Orange = external systemsRed = external data sources
  16. The data layer API gives you powerful (maybe too powerful tools) to manipulate different structured of RDF like: Merge arbitrary sets of RDF types (e.g., dataset with RDF published on remote URI) and thread them as a single RDF data unit to be consumed by the plugins Execute SPARQL queries over any type of RDF structureBe warned that some of this methods are too powerful, because they try to guarantee the complete results (no SPARQL distribution is used just the data is replicated temporary locally to execute the query, which make take a lot of IO and CPU)
  17. Berlin SPARQL Benchmark (BSBM)Lehigh University Benchmark (LUBM)Linked Data Semantic Repository (LDSR)Pathway and Interaction Knowledge Base (PIKB) Uniprot (only curated entries; schema) Entrez - Gene (complete dataset; custom schema) BioPAX - Cancer Cell Map (BioPAX distribution) BioPAX - NCI Pathway Interaction Database (BioPAX distribution) BioPAX - Reactome (BioPAX distribution) BioPAX - BioGRID (complete dataset schema aligned to BioPAX) BioPAX - iProClass (complete dataset; custom schema) Gene Ontology (complete dataset; original schema) NCBI Taxonomy (complete dataset; custom schema)
  18. D5.5.2 presents update on the state of the art in scalable RDF engines, as a basis for evaluation of the results of OWLIMThe map presents the loading speed of few of the most scalable repositories in relation to the size of the dataset and the complexity of the loading. The best published evaluation results have been used for each system. For OWLIM, ORACLE and DAML DB, loading includes forward-chaining and materialization. This diagram shows results up to 1.5billion explicit statementsOne can see that the results for loading are comparable, taking into account that the engines differ in features. Taking BigOWLIM’s results, one can observe how the difference in the semantics supported can alter the loading time almost by a factor of three. Overal, the evaluation demonstrated that LarKC data layer is very well positioned with respect to the other outstanding engines in the highly competitive niche of the so-called semantic repositories
  19. The results of loading LDSR and PIKB are presented on the first “bubble-chart” – the bubbles are bigger than those for LUBM, to indicate higher complexity. Generally, the notion of “reason-able views” makes reasoning with linked data feasibleThe Linked Data Semantic Repository (LDSR) is discussed in WP2The Pathway Interaction KB (PIKB) is presented in WP7AThere will be demos based on LDSR and PIKB at the “demo market”
  20. LarKC API DefinitionV0.1: non-streaming execution onlyV0.2: from non-streaming execution to streaming anytime behaviourV0.3: integration of Data Layer API <= Current Stable VersionImplementation of two test-rigs in order to validate the API and the general LarKC ideas Scripted DECIDE PlatformSelf-configuring DECIDE PlatformThey only differ in their code for the Decider plug-in, and in some minimal wrapping code for each plug-in to register the required information about itself in the meta-knowledge-base. All the other code is exactly the same between the two test-rigs, giving us confidence that indeed plug-ins will be re-usable under different Decider plug-ins.What we want to achieve in the next year wrt parallelization and distribution. Mention we have achieved gross-grain distribution and explain how, concrete technologies (IBIS,…). Layered architecture (implementation oriented), according to updated slide presented in EAW by Alexey.): Details of kind of parallelization,… concrete details on parallelization techniques,… to speed up performance… Give concrete details on how to apply concrete technologies. Distributed Data LayerData Streaming between remote componentsCaching, data warming/coolingMonitoring / InstrumentationFurther investigation and application of parallelization and distribution techniques to different types of distributed environments (high-performance grid, desktop grid, etc.)Further investigation and application of parallelization “within plug-ins” techniquesArchitecture refinementRequirements traceability (and possible update)