SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Apache Marmotta: 
Introduction 
Sebastian Schaffert
Who Am I 
Dr. Sebastian Schaffert 
Senior Researcher at Salzburg Research 
Chief Technology Officer at Redlink GmbH 
Committer at Apache Software Foundation 
… and starting 12/2014 Software Engineering Manager (SRE) @ Google 
sschaffert@apache.org 
http://linkedin.com/in/sebastianschaffert 
http://www.schaffert.eu
Agenda 
● Introduction to Apache Marmotta (Sebastian) 
– Overview 
– Installation 
– Development 
● Linked Data Platform (Sergio & Jakob) 
– Overview 
– Practical Usage 
● Semantic Media Management (Thomas) 
– Media Use Case 
– SPARQL-MM
Overview
What is Apache Marmotta? 
● Linked Data Server 
(implements Content Negotiation and LDP) 
● SPARQL Server 
(public SPARQL 1.1 query and update endpoint) 
● Linked Data Development Environment 
(collection of modules and libraries for building 
custom Linked Data applications) 
● Community of Open Source Linked Data 
Developers 
… all under business friendly Apache Open Source licence
Linked Data Server 
● easily offer your data as Linked Data on 
the Web 
● human-readable and machine-readable 
read-write data access based on HTTP 
content negotiation 
● reference implementation of the Linked 
Data Platform (see next presentation block)
SPARQL Server 
● full support of SPARQL 1.1 through HTTP 
web services 
● SPARQL 1.1 query and update endpoints 
● implements the SPARQL 1.1 protocol 
( supports any standard SPARQL clients) 
● fast native implementation of SPARQL in 
KiWi triple store 
● lightweight Squebi SPARQL explorer UI
Linked Data Development 
● modular server architecture allows 
combining exactly those functionalities 
needed for a use case 
(no need for reasoning? exclude reasoner ...) 
● collection of independent libraries for 
common Linked Data problems 
– access Linked Data resources (and even 
some that are not Linked Data) 
– simplified Linked Data query language 
(LDPath) 
– use only the triple store without the server
Community of Developers 
● discuss with people interested in getting-things- 
done in the Linked Data world 
● build applications that are useful without 
reimplementing the whole stack 
● thorough software engineering process 
under the roof of the Apache Software 
Foundation
Installation / Setup 
(we help you) 
https://github.com/wikier/apache-marmotta-tutorial-iswc2014
Sample Project 
● Requirements: 
– JDK 7/8 (https://java.com/de/download/) 
– Maven 3.x (http://maven.apache.org) 
– git (http://git-scm.com/) 
– curl (http://curl.haxx.se/) 
https://github.com/wikier/apache-marmotta-tutorial-iswc2014
Sample Project 
$ git clone git@github.com:wikier/apache-marmotta-tutorial-iswc2014.git 
$ cd apache-marmotta-tutorial-iswc2014 
$ mvn clean tomcat7:run 
… then point browser to http://localhost:8080 
https://github.com/wikier/apache-marmotta-tutorial-iswc2014
Apache Marmotta Platform
Apache Marmotta Platform 
● implemented as Java web application 
(deployed as marmotta.war file) 
● service oriented architecture using CDI 
(Java EE 6) 
● REST web services using JAX-RS 
(RestEasy) 
● CDI services found on classpath are 
automatically added to system
Architecture
Marmotta Core (required) 
● core platform functionalities: 
– Linked Data access 
– RDF import and export 
– Admin UI 
● platform glue code: 
– service and dependency injection 
– triple store 
– system configuration 
– logging
Marmotta Backends (one required) 
● choice of different triple store backends 
● KiWi (Marmotta Default) 
– based on relational database (PostgreSQL, MySQL, 
H2) 
– highly scalable 
● Sesame Native 
– based on Sesame Native RDF backend 
● BigData 
– based on BigData clustered triple store 
● Titan 
– based on Titan graph database (backed by HBase, 
Cassandra, or BerkeleyDB)
Marmotta SPARQL (optional) 
● SPARQL HTTP endpoint 
– supports SPARQL 1.1 protocol 
– query: …/sparql/select 
– update: …/sparql/update 
● SPARQL explorer UI (Squebi)
Marmotta LDCache (optional) 
● transparently access Linked Data 
resources from other servers as if they 
were local 
● support for wrapping some legacy data 
sources (e.g. Facebook Graph) 
● local triple cache, honors HTTP expiry and 
cache headers 
Note: 
SPARQL does NOT work well with LDCache, 
use LDPath instead!
Marmotta LDPath (optional) 
● query language specifically designed for 
querying the Linked Data Cloud 
● regular path based navigation starting at a 
resource and then following links 
● limited expressivity (compared to SPARQL) 
but full Linked Data support 
@prefix local: <http://localhost:8080/resource/> ; 
@prefix foaf: <http://xmlns.com/foaf/0.1/>; 
@prefix mao: <http://www.w3.org/ns/ma-ont#>; 
likes = local:likes / 
(foaf:primaryTopic / mao:title | foaf:name) 
:: xsd:string;
Marmotta Reasoner (optional) 
● implementation of rule-based sKWRL 
reasoner 
● Datalog-style rules over RDF triples, 
evaluated in forward-chaining procedure 
@prefix skos: <http://www.w3.org/2004/02/skos/core#> 
($1 skos:broaderTransitive $2) -> ($1 skos:broader $2) 
($1 skos:narrowerTransitive $2) -> ($1 skos:narrower $2) 
($1 skos:broaderTransitive $2), ($2 skos:broaderTransitive $3) 
-> ($1 skos:broaderTransitive $3) 
($1 skos:narrowerTransitive $2), ($2 skos:narrowerTransitive $3) 
-> ($1 skos:narrowerTransitive $3) 
($1 skos:broader $2) -> ($2 skos:narrower $1) 
($1 skos:narrower $2) -> ($2 skos:broader $1) 
($1 skos:broader $2) -> ($1 skos:related $2) 
($1 skos:narrower $2) -> ($1 skos:related $2) 
($1 skos:related $2) -> ($2 skos:related $1)
Marmotta Versioning (optional) 
● transaction-based versioning of all changes 
to the triple store 
● implementation of Memento protocol for 
exploring changes over time 
● snapshot/wayback functionality (i.e. 
possibility to query the state of the triple 
store at a given time in history)
Apache Marmotta Walkthrough 
(Demo)
Apache Marmotta Libraries
Apache Marmotta Libraries 
● provide implementations for common 
Linked Data problems (e.g. accessing 
resources) 
● standalone lightweight Java libraries that 
can be used outside the Marmotta platform
LDClient 
● library for accessing and retrieving Linked 
Data resources 
● includes all the standard code written again 
and again (HTTP retrieval, content 
negotiation, ...) 
● extensible (Java ServiceLoader) with 
custom wrappers for legacy data sources 
(included are RDF, RDFa, Facebook, Youtube, 
Freebase, Wikipedia, as well as base classes for 
mapping other formats like XML and JSON)
LDCache 
● library providing local caching functionality 
for (remote) Linked Data resources 
● builds on top of LDClient, so offers the 
same extensibility 
● Sesame Sail with transparent Linked Data 
access (i.e. Sesame API for Linked Data 
Cloud)
LDPath 
● library offering a standalone 
implementation of the LDPath query 
language 
● large function library for various scenarios 
(e.g. string, math, ...) 
● can be used with LDCache and LDClient 
● can be integrated in your own applications 
● supports different backends (Sesame, 
Jena, Clerezza)
Marmotta Loader 
● command line infrastructure for bulk-loading 
RDF data in various formats to 
different triple stores 
● supports most RDF serializations, directory 
imports, split-file imports, compressed files 
(.gz, .bzip2, .xy), archives (tar, zip) 
● provides progress indicator, statistics
KiWi Triplestore
KiWi Triplestore 
● Sesame SAIL: can be plugged into any 
Sesame application 
● based on relational database (supported: 
PostgreSQL, MySQL, H2) 
● integrates easily in existing enterprise 
infrastructure (database server, backups, 
clustering, …) 
● reliable transaction management (at the 
cost of performance) 
● supports very large datasets (e.g. 
Freebase with more than 2 billion triples)
KiWi Triplestore: SPARQL 
● translation of SPARQL queries into native 
SQL 
● generally very good performance for typical 
queries, even on big datasets 
● query performance can be optimized by 
proper index and memory configuration in 
the database 
● almost complete support for SPARQL 1.1 
(except some constructs exceeding the 
expressivity of SQL and some “bugs”)
KiWi Triplestore: Reasoner 
● rule-based sKWRL reasoner (see demo 
before) 
● fast forward chaining implementation of 
rule evaluation 
● truth maintenance for easy deletes/updates 
● future: might be implemented as stored 
procedures in database
KiWi Triplestore: Clustering 
● cluster-wide caching and synchronization 
based on Hazelcast or Infinispan 
● useful for load balancing of several 
instances of the same application (e.g. 
Marmotta Platform)
KiWi Triplestore: Versioning 
● transaction-based versioning of triple 
updates 
● undo transactions (applied in reverse 
order) 
● get a Sesame repository connection 
visiting any time of the triple store history
Thank You! 
Sebastian Schaffert 
sschaffert@apache.org 
supported by the European 
Commission FP7 project MICO 
(grant no. 610480)

Weitere ähnliche Inhalte

Was ist angesagt?

Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012
scorlosquet
 
Ckan tutorial odw2013 131109
Ckan tutorial odw2013 131109Ckan tutorial odw2013 131109
Ckan tutorial odw2013 131109
Chengjen Lee
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
Juan Sequeda
 
ckan 2.0 Introduction (20140522 updated)
ckan 2.0 Introduction  (20140522 updated)ckan 2.0 Introduction  (20140522 updated)
ckan 2.0 Introduction (20140522 updated)
Chengjen Lee
 
ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)
Chengjen Lee
 
Semantics, rdf and drupal
Semantics, rdf and drupalSemantics, rdf and drupal
Semantics, rdf and drupal
Gokul Nk
 

Was ist angesagt? (20)

Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012Slides semantic web and Drupal 7 NYCCamp 2012
Slides semantic web and Drupal 7 NYCCamp 2012
 
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
Geospatial querying in Apache Marmotta - ApacheCon Big Data Europe 2015
 
The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013The Semantic Web and Drupal 7 - Loja 2013
The Semantic Web and Drupal 7 - Loja 2013
 
Adventures in Linked Data Land (presentation by Richard Light)
Adventures in Linked Data Land (presentation by Richard Light)Adventures in Linked Data Land (presentation by Richard Light)
Adventures in Linked Data Land (presentation by Richard Light)
 
Customizing CKAN
Customizing CKANCustomizing CKAN
Customizing CKAN
 
Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014Towards a Commons RDF Library - ApacheCon Europe 2014
Towards a Commons RDF Library - ApacheCon Europe 2014
 
D2RQ
D2RQD2RQ
D2RQ
 
Eclipse RDF4J - Working with RDF in Java
Eclipse RDF4J - Working with RDF in JavaEclipse RDF4J - Working with RDF in Java
Eclipse RDF4J - Working with RDF in Java
 
Ckan tutorial odw2013 131109
Ckan tutorial odw2013 131109Ckan tutorial odw2013 131109
Ckan tutorial odw2013 131109
 
Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011Publishing Linked Data 3/5 Semtech2011
Publishing Linked Data 3/5 Semtech2011
 
CKAN as an open-source data management solution for open data
CKAN as an open-source data management solution for open data CKAN as an open-source data management solution for open data
CKAN as an open-source data management solution for open data
 
ckan 2.0 Introduction (20140522 updated)
ckan 2.0 Introduction  (20140522 updated)ckan 2.0 Introduction  (20140522 updated)
ckan 2.0 Introduction (20140522 updated)
 
ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)ckan 2.0 Introduction (20140618 updated)
ckan 2.0 Introduction (20140618 updated)
 
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OOVirtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
Virtuoso RDF Triple Store Analysis Benchmark & mapping tools RDF / OO
 
Drupal 7 and RDF
Drupal 7 and RDFDrupal 7 and RDF
Drupal 7 and RDF
 
Linked data tooling XML
Linked data tooling XMLLinked data tooling XML
Linked data tooling XML
 
Integrating Drupal with a Triple Store
Integrating Drupal with a Triple StoreIntegrating Drupal with a Triple Store
Integrating Drupal with a Triple Store
 
Linked Data, Ontologies and Inference
Linked Data, Ontologies and InferenceLinked Data, Ontologies and Inference
Linked Data, Ontologies and Inference
 
Semantics, rdf and drupal
Semantics, rdf and drupalSemantics, rdf and drupal
Semantics, rdf and drupal
 
EUDAT data architecture and interoperability aspects – Daan Broeder
EUDAT data architecture and interoperability aspects – Daan BroederEUDAT data architecture and interoperability aspects – Daan Broeder
EUDAT data architecture and interoperability aspects – Daan Broeder
 

Ähnlich wie Apache Marmotta - Introduction

Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
DataWorks Summit
 

Ähnlich wie Apache Marmotta - Introduction (20)

Real time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache SparkReal time Analytics with Apache Kafka and Apache Spark
Real time Analytics with Apache Kafka and Apache Spark
 
dotNetRDF - A Semantic Web/RDF Library for .Net Developers
dotNetRDF - A Semantic Web/RDF Library for .Net DevelopersdotNetRDF - A Semantic Web/RDF Library for .Net Developers
dotNetRDF - A Semantic Web/RDF Library for .Net Developers
 
Intro to Apache Spark by CTO of Twingo
Intro to Apache Spark by CTO of TwingoIntro to Apache Spark by CTO of Twingo
Intro to Apache Spark by CTO of Twingo
 
Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2 Introduction to Apache Spark :: Lagos Scala Meetup session 2
Introduction to Apache Spark :: Lagos Scala Meetup session 2
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
 
Hadoop and object stores can we do it better
Hadoop and object stores  can we do it betterHadoop and object stores  can we do it better
Hadoop and object stores can we do it better
 
Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?Hadoop and object stores: Can we do it better?
Hadoop and object stores: Can we do it better?
 
Etu Solution Day 2014 Track-D: 掌握Impala和Spark
Etu Solution Day 2014 Track-D: 掌握Impala和SparkEtu Solution Day 2014 Track-D: 掌握Impala和Spark
Etu Solution Day 2014 Track-D: 掌握Impala和Spark
 
Apache Spark Introduction @ University College London
Apache Spark Introduction @ University College LondonApache Spark Introduction @ University College London
Apache Spark Introduction @ University College London
 
In Memory Analytics with Apache Spark
In Memory Analytics with Apache SparkIn Memory Analytics with Apache Spark
In Memory Analytics with Apache Spark
 
Lightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache SparkLightening Fast Big Data Analytics using Apache Spark
Lightening Fast Big Data Analytics using Apache Spark
 
AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09
 
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
Java One 2017: Open Source Big Data in the Cloud: Hadoop, M/R, Hive, Spark an...
 
Apache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-AriApache Spark 101 - Demi Ben-Ari
Apache Spark 101 - Demi Ben-Ari
 
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
 
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
Near Real Time Indexing Kafka Messages into Apache Blur: Presented by Dibyend...
 
Michael stack -the state of apache h base
Michael stack -the state of apache h baseMichael stack -the state of apache h base
Michael stack -the state of apache h base
 
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
Spark (Structured) Streaming vs. Kafka Streams - two stream processing platfo...
 
Hoodie - DataEngConf 2017
Hoodie - DataEngConf 2017Hoodie - DataEngConf 2017
Hoodie - DataEngConf 2017
 
DEVNET-1106 Upcoming Services in OpenStack
DEVNET-1106	Upcoming Services in OpenStackDEVNET-1106	Upcoming Services in OpenStack
DEVNET-1106 Upcoming Services in OpenStack
 

Mehr von Sebastian Schaffert

Mehr von Sebastian Schaffert (7)

Knowledge and Media Technologies at Salzburg Research
Knowledge and Media Technologies at Salzburg ResearchKnowledge and Media Technologies at Salzburg Research
Knowledge and Media Technologies at Salzburg Research
 
KiWi - a platform for Semantic Social Software
KiWi - a platform for Semantic Social SoftwareKiWi - a platform for Semantic Social Software
KiWi - a platform for Semantic Social Software
 
Semantic Search for Media Portals
Semantic Search for Media PortalsSemantic Search for Media Portals
Semantic Search for Media Portals
 
KiWi - Knowledge in a Wiki
KiWi - Knowledge in a WikiKiWi - Knowledge in a Wiki
KiWi - Knowledge in a Wiki
 
IkeWiki Tutorial
IkeWiki TutorialIkeWiki Tutorial
IkeWiki Tutorial
 
The KiWi Vision
The KiWi VisionThe KiWi Vision
The KiWi Vision
 
Social Software und Web 2.0: Semantic Wikis, Social Tagging und eLearning 2.0
Social Software und Web 2.0: Semantic Wikis, Social Tagging und eLearning 2.0Social Software und Web 2.0: Semantic Wikis, Social Tagging und eLearning 2.0
Social Software und Web 2.0: Semantic Wikis, Social Tagging und eLearning 2.0
 

Kürzlich hochgeladen

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Chandigarh Call girls 9053900678 Call girls in Chandigarh
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
nilamkumrai
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 

Kürzlich hochgeladen (20)

Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
Low Sexy Call Girls In Mohali 9053900678 🥵Have Save And Good Place 🥵
 
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
Shikrapur - Call Girls in Pune Neha 8005736733 | 100% Gennuine High Class Ind...
 
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
Hire↠Young Call Girls in Tilak nagar (Delhi) ☎️ 9205541914 ☎️ Independent Esc...
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
( Pune ) VIP Baner Call Girls 🎗️ 9352988975 Sizzling | Escorts | Girls Are Re...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...Pune Airport ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready...
Pune Airport ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready...
 
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
VIP Model Call Girls NIBM ( Pune ) Call ON 8005736733 Starting From 5K to 25K...
 
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Salem Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Himatnagar 7001035870 Whatsapp Number, 24/07 Booking
 

Apache Marmotta - Introduction

  • 1. Apache Marmotta: Introduction Sebastian Schaffert
  • 2. Who Am I Dr. Sebastian Schaffert Senior Researcher at Salzburg Research Chief Technology Officer at Redlink GmbH Committer at Apache Software Foundation … and starting 12/2014 Software Engineering Manager (SRE) @ Google sschaffert@apache.org http://linkedin.com/in/sebastianschaffert http://www.schaffert.eu
  • 3. Agenda ● Introduction to Apache Marmotta (Sebastian) – Overview – Installation – Development ● Linked Data Platform (Sergio & Jakob) – Overview – Practical Usage ● Semantic Media Management (Thomas) – Media Use Case – SPARQL-MM
  • 5. What is Apache Marmotta? ● Linked Data Server (implements Content Negotiation and LDP) ● SPARQL Server (public SPARQL 1.1 query and update endpoint) ● Linked Data Development Environment (collection of modules and libraries for building custom Linked Data applications) ● Community of Open Source Linked Data Developers … all under business friendly Apache Open Source licence
  • 6. Linked Data Server ● easily offer your data as Linked Data on the Web ● human-readable and machine-readable read-write data access based on HTTP content negotiation ● reference implementation of the Linked Data Platform (see next presentation block)
  • 7. SPARQL Server ● full support of SPARQL 1.1 through HTTP web services ● SPARQL 1.1 query and update endpoints ● implements the SPARQL 1.1 protocol ( supports any standard SPARQL clients) ● fast native implementation of SPARQL in KiWi triple store ● lightweight Squebi SPARQL explorer UI
  • 8. Linked Data Development ● modular server architecture allows combining exactly those functionalities needed for a use case (no need for reasoning? exclude reasoner ...) ● collection of independent libraries for common Linked Data problems – access Linked Data resources (and even some that are not Linked Data) – simplified Linked Data query language (LDPath) – use only the triple store without the server
  • 9. Community of Developers ● discuss with people interested in getting-things- done in the Linked Data world ● build applications that are useful without reimplementing the whole stack ● thorough software engineering process under the roof of the Apache Software Foundation
  • 10. Installation / Setup (we help you) https://github.com/wikier/apache-marmotta-tutorial-iswc2014
  • 11. Sample Project ● Requirements: – JDK 7/8 (https://java.com/de/download/) – Maven 3.x (http://maven.apache.org) – git (http://git-scm.com/) – curl (http://curl.haxx.se/) https://github.com/wikier/apache-marmotta-tutorial-iswc2014
  • 12. Sample Project $ git clone git@github.com:wikier/apache-marmotta-tutorial-iswc2014.git $ cd apache-marmotta-tutorial-iswc2014 $ mvn clean tomcat7:run … then point browser to http://localhost:8080 https://github.com/wikier/apache-marmotta-tutorial-iswc2014
  • 14. Apache Marmotta Platform ● implemented as Java web application (deployed as marmotta.war file) ● service oriented architecture using CDI (Java EE 6) ● REST web services using JAX-RS (RestEasy) ● CDI services found on classpath are automatically added to system
  • 16. Marmotta Core (required) ● core platform functionalities: – Linked Data access – RDF import and export – Admin UI ● platform glue code: – service and dependency injection – triple store – system configuration – logging
  • 17. Marmotta Backends (one required) ● choice of different triple store backends ● KiWi (Marmotta Default) – based on relational database (PostgreSQL, MySQL, H2) – highly scalable ● Sesame Native – based on Sesame Native RDF backend ● BigData – based on BigData clustered triple store ● Titan – based on Titan graph database (backed by HBase, Cassandra, or BerkeleyDB)
  • 18. Marmotta SPARQL (optional) ● SPARQL HTTP endpoint – supports SPARQL 1.1 protocol – query: …/sparql/select – update: …/sparql/update ● SPARQL explorer UI (Squebi)
  • 19. Marmotta LDCache (optional) ● transparently access Linked Data resources from other servers as if they were local ● support for wrapping some legacy data sources (e.g. Facebook Graph) ● local triple cache, honors HTTP expiry and cache headers Note: SPARQL does NOT work well with LDCache, use LDPath instead!
  • 20. Marmotta LDPath (optional) ● query language specifically designed for querying the Linked Data Cloud ● regular path based navigation starting at a resource and then following links ● limited expressivity (compared to SPARQL) but full Linked Data support @prefix local: <http://localhost:8080/resource/> ; @prefix foaf: <http://xmlns.com/foaf/0.1/>; @prefix mao: <http://www.w3.org/ns/ma-ont#>; likes = local:likes / (foaf:primaryTopic / mao:title | foaf:name) :: xsd:string;
  • 21. Marmotta Reasoner (optional) ● implementation of rule-based sKWRL reasoner ● Datalog-style rules over RDF triples, evaluated in forward-chaining procedure @prefix skos: <http://www.w3.org/2004/02/skos/core#> ($1 skos:broaderTransitive $2) -> ($1 skos:broader $2) ($1 skos:narrowerTransitive $2) -> ($1 skos:narrower $2) ($1 skos:broaderTransitive $2), ($2 skos:broaderTransitive $3) -> ($1 skos:broaderTransitive $3) ($1 skos:narrowerTransitive $2), ($2 skos:narrowerTransitive $3) -> ($1 skos:narrowerTransitive $3) ($1 skos:broader $2) -> ($2 skos:narrower $1) ($1 skos:narrower $2) -> ($2 skos:broader $1) ($1 skos:broader $2) -> ($1 skos:related $2) ($1 skos:narrower $2) -> ($1 skos:related $2) ($1 skos:related $2) -> ($2 skos:related $1)
  • 22. Marmotta Versioning (optional) ● transaction-based versioning of all changes to the triple store ● implementation of Memento protocol for exploring changes over time ● snapshot/wayback functionality (i.e. possibility to query the state of the triple store at a given time in history)
  • 25. Apache Marmotta Libraries ● provide implementations for common Linked Data problems (e.g. accessing resources) ● standalone lightweight Java libraries that can be used outside the Marmotta platform
  • 26. LDClient ● library for accessing and retrieving Linked Data resources ● includes all the standard code written again and again (HTTP retrieval, content negotiation, ...) ● extensible (Java ServiceLoader) with custom wrappers for legacy data sources (included are RDF, RDFa, Facebook, Youtube, Freebase, Wikipedia, as well as base classes for mapping other formats like XML and JSON)
  • 27. LDCache ● library providing local caching functionality for (remote) Linked Data resources ● builds on top of LDClient, so offers the same extensibility ● Sesame Sail with transparent Linked Data access (i.e. Sesame API for Linked Data Cloud)
  • 28. LDPath ● library offering a standalone implementation of the LDPath query language ● large function library for various scenarios (e.g. string, math, ...) ● can be used with LDCache and LDClient ● can be integrated in your own applications ● supports different backends (Sesame, Jena, Clerezza)
  • 29. Marmotta Loader ● command line infrastructure for bulk-loading RDF data in various formats to different triple stores ● supports most RDF serializations, directory imports, split-file imports, compressed files (.gz, .bzip2, .xy), archives (tar, zip) ● provides progress indicator, statistics
  • 31. KiWi Triplestore ● Sesame SAIL: can be plugged into any Sesame application ● based on relational database (supported: PostgreSQL, MySQL, H2) ● integrates easily in existing enterprise infrastructure (database server, backups, clustering, …) ● reliable transaction management (at the cost of performance) ● supports very large datasets (e.g. Freebase with more than 2 billion triples)
  • 32. KiWi Triplestore: SPARQL ● translation of SPARQL queries into native SQL ● generally very good performance for typical queries, even on big datasets ● query performance can be optimized by proper index and memory configuration in the database ● almost complete support for SPARQL 1.1 (except some constructs exceeding the expressivity of SQL and some “bugs”)
  • 33. KiWi Triplestore: Reasoner ● rule-based sKWRL reasoner (see demo before) ● fast forward chaining implementation of rule evaluation ● truth maintenance for easy deletes/updates ● future: might be implemented as stored procedures in database
  • 34. KiWi Triplestore: Clustering ● cluster-wide caching and synchronization based on Hazelcast or Infinispan ● useful for load balancing of several instances of the same application (e.g. Marmotta Platform)
  • 35. KiWi Triplestore: Versioning ● transaction-based versioning of triple updates ● undo transactions (applied in reverse order) ● get a Sesame repository connection visiting any time of the triple store history
  • 36. Thank You! Sebastian Schaffert sschaffert@apache.org supported by the European Commission FP7 project MICO (grant no. 610480)