SlideShare a Scribd company logo
Linked Data (in low-resource)
Platforms: a mapping for
Constrained Application Protocol
G. Loseto, S. Ieva, F. Gramegna, M. Ruta,
F. Scioscia, E. Di Sciascio
Politecnico di Bari, Bari (Italy)
The 15th International Semantic Web Conference (ISWC 2016)
October 17-21, 2016 - Kobe, Japan
2 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Outline
o Linked Data Platform (LDP)
o Introduction
o Current implementations
o Linked Data (in low-resource) Platforms
o Constrained Application Protocol (CoAP)
o Challenges
o LDP-CoAP
o Proposed HTTP-CoAP mapping
o Framework Architecture
o Validation
o Conclusion and Future Work
3 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Linked Data Platform
Linked Data Platform 1.0 - W3C Recom. 26 February 2015
“Linked Data Platform (LDP) defines a set of rules for HTTP operations on
web resources, some based on RDF, to provide an architecture for read-
write Linked Data on the web.”
LDP specifications
o HTTP Methods
o HTTP Headers
o LDP Resources (7 types)
4 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP Resources
LDP Resource (LDPR)
o following LDP guidelines
LDP RDF Source (LDP-RS)
o corresponding to an RDF graph
o fully represented in an RDF syntax
LDP Non-RDF Source (LDP-NR)
o binary or text document not represented in RDF
o can be associated to useful metadata (creation date, owner)
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<http://example.org/sensor/> a ldp:RDFSource;
dcterms:title “Sensor Example” .
5 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP Containers
LDP Basic Container (LDP-BC)
o linking resources through the ldp:contains predicate
LDP Direct Container (LDP-DC)
o specifying the membership resource and the member relation
LDP Indirect Container (LDP-IC)
o supporting member resources with not predefined URIs
6 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Current LDP Implementations
Name Status
Last
Version
License Language
Supported LDPR
RS NR BC DC IC
RWW.IO Pending Nov 2014 MIT PHP yes no yes no no
Apache
Marmotta
Full Rel. Dec 2014 APL 2.0 Java yes yes yes no no
Bygle In progress Feb 2015 APL 2.0 Java yes no yes no no
Eclipse Lyo Completed Mar 2015 EPL 1.0 Java yes yes yes yes no
LDP.js Completed Apr 2015 APL 2.0 JavaScript yes yes no yes no
Glutton In progress Apr 2015 GPL v3 Python yes no yes no no
Carbon LDP In progress Oct 2015 BSD JavaScript yes yes yes yes yes
LDP4j In progress Dec 2015 APL 2.0 Java yes yes no yes yes
RWW Play In progress Dec 2015 APL 2.0 Scala yes yes yes no no
Fedora Full Rel. Jan 2016 APL 2.0 Java yes yes yes yes yes
Callimachus Full Rel. Mar 2016 APL 2.0 Java yes yes no no yes
gold In progress Apr 2016 MIT Go yes no yes no no
OpenLink
Virtuoso
Full Rel. Apr 2016 GPL v2 C/C++ yes no yes no no
7 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Linked Data (in low-resource) Platforms
Linked Data Platform Use Cases and Requirements
W3C Working Group Note - 13 March 2014
3.12 Constrained Devices and Networks
o support RESTful interfaces also on resource-constrained devices
o usage of IoT/WoT standards such as the Constrained Application Protocol (CoAP)
o SPARQL 1.1 Update [W3C Rec., 21 March 2013] not feasible
o current HTTP-CoAP Mapping suggested [Castellani et al., IETF-Draft, 2016]
Constrained Application Protocol (CoAP)
Level 7 standard designed for
M2M communication
4 HTTP-derived methods
(over UDP)
REST (REpresentational State
Transfer) architectural style
Resources identified by URI
8 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-CoAP Mapping (1/2)
Limits of current
HTTP- CoAP mapping
Only basic HTTP interactions
supported
HTTP methods (OPTIONS, HEAD,
PATCH) not defined in CoAP
Several HTTP headers not allowed
Specific MIME types missing
HTTP status codes mapped with
available CoAP codes
PATCH, HEAD and OPTIONS mapped
to existing methods
Mapping LDP-required HTTP headers
of request/response messages
Novel content-format media types:
text/turtle, application/ld+json
Proposed Solution:
LDP-CoAP
Significant LDP
functionalities lost!
Enhanced HTTP-CoAP
mapping rules
9 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-CoAP Mapping (2/2)
Method Type
Supported
in CoAP
LDP-CoAP
Mapping
HTTP
Status Code
CoAP
Status Code
GET Mandatory Yes GET 200 OK 2.05 Content
POST Optional Yes POST 201 Created 2.01 Created
PUT Optional Yes PUT 204 No Content 2.04 Changed
DELETE Optional Yes DELETE 204 No Content 2.02 Deleted
PATCH Optional No PUT ?ldp=patch 204 No Content 2.04 Changed
HEAD Mandatory No GET ?ldp=head 204 No Content 2.03 Valid
OPTIONS Mandatory No GET ?ldp=options 204 No Content 2.05 Content
Achievements (not available before)
o all LDP features and capabilities preserved
o client-server communication through CoAP protocol
o discovery of LDP resources based on CoRE Link Format
o lightweight implementation for embedded devices
10 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-CoAP: Architecture
Implementation based on Californium CoAP Java library [Kovatsch et al., IEEE-IoT, 2014]
<ldp-coap-proxy>
package
<ldp-coap-core>
package
<ldp-coap-raspberry>
package
<californium-coap-ldp>
package
<ldp-coap-android>
package
requires
requires requires
CoAP
CoAP CoAP
LDP Client
HTTP
LDP-CoAP Client
CoAP
CoAP
11 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
CoRE Resource Discovery
CoAP GET request on /.well-known/core
</.well-known/core>,
</ldp-rs>
rt=“ldp:RDFSource ldp:Resource”;
ct=4; title=“ldp-rs”,
</ldp-dc>
rt=“ldp:DirectContainer ldp:Container ldp:Resource”;
ct=4; title=“ldp-dc”,
</ldp-dc/tmp35>
rt=“ssn:SensingDevice ldp:Resource”;
ct=4; title=“tmp35”,
</ldp-dc/tmp35/obs1>
rt=“ssn:Observation ldp:Resource”;
ct=4; title=“obs1”
CoAP Resp CoAP Resp
LDP-CoAP Client
CoAP Req
<ldp-coap-proxy>
package
<ldp-coap-core>
package
CoAP Req
SERVER
RT (Resource Type)
CT (Content-Format)
ct=4 (text/turtle)
12 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
HTTP Options
OPTIONS /ldp-dc HTTP/1.1
Host: example.org
HTTP/1.1 204 No Content
Allow: OPTIONS, HEAD, GET, POST, PUT, PATCH
Accept-Post: text/turtle, application/ld+json
Accept-Patch: text/ldpatch
Link: <http://www.w3.org/ns/ldp#DirectContainer>
rel="type",
<http://www.w3.org/ns/ldp#Resource>
rel="type"
Mapping Example: OPTIONS
LDP Client
HTTP Resp
HTTP Req <ldp-coap-proxy>
package
<ldp-coap-core>
package
CoAP Req
CoAP Resp
SERVER
CoAP Options
GET coap://example.org/ldp-dc?ldp=options
2.05 Content Content-Format (ct): application/json
{
"Allow": ["OPTIONS", "HEAD", "GET", "POST", "PUT",
"PATCH"],
"Accept-Post": [ "text/turtle", "application/ld+json”],
"Accept-Patch": "text/ldpatch"
}
1
CoAP Resource Discovery
GET coap://example.org/.well-known/core?title=ldp-dc
2.05 Content
</ldp-dc>
rt=“ldp:DirectContainer ldp:Container ldp:Resource”;
ct=4; title=“ldp-dc”
2
13 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
HTTP GET
GET /ldp-dc HTTP/1.1
Host: example.org Accept: text/turtle
HTTP/1.1 200 OK
Allow: OPTIONS, HEAD, GET, POST, PUT, PATCH
Accept-Post: text/turtle, application/ld+json
Accept-Patch: text/ldpatch
Link: <http://www.w3.org/ns/ldp#DirectContainer>
rel="type",
<http://www.w3.org/ns/ldp#Resource> rel="type“
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<http://example.org/ldp-dc/> a ldp:DirectContainer;
dcterms:title “Sensor Container"
Mapping Example: GET
LDP Client
HTTP Resp
HTTP Req <ldp-coap-proxy>
package
<ldp-coap-core>
package
CoAP Req
CoAP Resp
SERVER
CoAP GET
GET coap://example.org/ldp-dc
Accept: text/turtle
2.05 Content Content-Format (ct): text/turtle
ETag: W/’123456789’
@prefix dcterms: <http://purl.org/dc/terms/>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<http://example.org/ldp-dc/> a ldp:DirectContainer;
dcterms:title “Sensor Container"
1
CoAP Resource Discovery
2
CoAP OPTIONS
3
14 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-CoAP: Validation
LDP Test Suite for W3C Linked Data Platform 1.0
o 236 tests referred to the LDP W3C specification
o results grouped by LDP resources: RS, NR, BC, DC, IC
o 3 compliance levels: MUST, SHOULD, MAY
Feature LDP-RS LDP-NR LDP-BC LDP-DC LDP-IC
MUST 22/24 (91.7%) 12/15 (80.0%) 32/37 (86.5%) 37/42 (88.1%) 33/39 (84.6%)
SHOULD 5/7 (71.4%) 1/1 (100%) 15/17 (88.2%) 17/19 (89.5%) 15/17 (88.2%)
MAY 1/1 (100%) 4/6 (66.7%) 4/4 (100%) 4/4 (100.0%) 4/4 (100%)
AVG 87.7% 82.2% 91.6% 92.5% 90.9%
MUST
SHOULD
MAY
UNSUPPORTED
15 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-Tools Comparison
Tool LDP-RS LDP-NR LDP-BC LDP-DC LDP-IC
Eclipse Lyo 100% 100% 100% 100% X
Fedora 4 80.1% 97.8% 86.0% 87.6% 84.7
LDP4j 100% X 87.7% 88.2% 86.0%
Apache Marmotta 100% 100% 100% X X
Carbon LDP 56.0% 33.3% 46.5% 46.9% 44.4%
LDP.js 95.2% X 96.1% 96.5% X
LDP-CoAP 87.7% 82.2% 91.6% 92.5% 90.9%
20
30
40
50
60
70
80
90
100
110
Basic Container Direct Container Indirect Container RDF Resource Non RDF Source
ProcessingTime(ms)
LDP Resources
LDP-CoAP
Virtuoso
LDP.js
Marmotta
LDP4j
RWW.IO
Fedora4
Eclipse Lyo
16 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
LDP-CoAP: Device Performance
3 different Java-compatible platforms
o PC with Intel Core i7 CPU (@3.50 GHz), 12 GB DDR3 RAM
o Android 5.1.1 Smartphone (LG Google E960 Nexus 4), 2 GB RAM
o Raspberry Pi Model B, 512 MB RAM (shared)
o Average response times under 1
second both on Android and
Raspberry (except for LDP-NR)
o Memory allocation peak:
 44.7 MB on PC
 18.3 MB on Android
 7.4 MB on Raspberry (in figure)
10.0
100.0
1000.0
10000.0
Basic
Container
Direct
Container
Indirect
Container
RDF
Resource
Non RDF
Source
Time(ms)
LDP Resources
PC Android Raspberry Pi
2
3
4
5
6
7
8
1 6 11 16 21 26 31 36 41 46 51 56
MemoryUsage(MB)
Sampling Time (T = 2 sec)
17 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Conclusion
Main Contributions
o enhanced HTTP-CoAP mapping of the Linked Data Platform specification
o LDP exploitation in resource-constrained devices
o all LDP Resources supported (but not every requirement yet)
o LDP-CoAP framework publicly released as open source
Future Work
o mapping of unsupported LDP features
o porting LDP-CoAP to more computing platforms (e.g., Arduino)
o further performance evaluation
o definition of a complete scenario/testbed to expose real-time sensor data
18 of 18
Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP
The 15th International Semantic Web Conference (ISWC 2016)
Contact
For more information about LDP-CoAP, please get in touch with us:
Prof. Michele Ruta (Project Coordinator) michele.ruta@poliba.it
Dr. Giuseppe Loseto (Lead Project Developer) giuseppe.loseto@poliba.it
Web Page: http://sisinflab.poliba.it/swottools/ldp-coap
Github repository: github.com/sisinflab-swot/ldp-coap-framework
Member of the W3C LDP Next Community Group

More Related Content

What's hot (20)

PPTX
Technical Background
Nikolaos Konstantinou
 
ODP
Data Integration And Visualization
Ivan Ermilov
 
PPTX
RDF for PubMedCentral
alexander garcia
 
PPT
Do the LOCAH-Motion: How to Make Bibliographic and Archival Linked Data
Adrian Stevenson
 
PPTX
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project
 
PPTX
Odata
Monalisa Patel
 
PPTX
Linked Data Usecases
Myungjin Lee
 
PDF
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Lucidworks
 
PPTX
An Approach for the Incremental Export of Relational Databases into RDF Graphs
Nikolaos Konstantinou
 
PDF
Linked Data, Ontologies and Inference
Barry Norton
 
PPTX
NISO/DCMI September 25 Webinar: Implementing Linked Data in Developing Countr...
National Information Standards Organization (NISO)
 
PPTX
Linked data HHS 2015
Cason Snow
 
PDF
Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref
 
PDF
DBpedia Tutorial - Feb 2015, Dublin
m_ackermann
 
ODP
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
Mikael Nilsson
 
PDF
Semantic Technologies and Triplestores for Business Intelligence
Marin Dimitrov
 
PPT
Open for Business Open Archives, OpenURL, RSS and the Dublin Core
Andy Powell
 
PDF
Introduction to RDF & SPARQL
Open Data Support
 
PDF
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
National Information Standards Organization (NISO)
 
PPTX
Introduction to Web Services
Jeffrey Anderson
 
Technical Background
Nikolaos Konstantinou
 
Data Integration And Visualization
Ivan Ermilov
 
RDF for PubMedCentral
alexander garcia
 
Do the LOCAH-Motion: How to Make Bibliographic and Archival Linked Data
Adrian Stevenson
 
Usage of Linked Data: Introduction and Application Scenarios
EUCLID project
 
Linked Data Usecases
Myungjin Lee
 
Approaching Join Index: Presented by Mikhail Khludnev, Grid Dynamics
Lucidworks
 
An Approach for the Incremental Export of Relational Databases into RDF Graphs
Nikolaos Konstantinou
 
Linked Data, Ontologies and Inference
Barry Norton
 
NISO/DCMI September 25 Webinar: Implementing Linked Data in Developing Countr...
National Information Standards Organization (NISO)
 
Linked data HHS 2015
Cason Snow
 
Crossref XML and tools for small publishers (EASE Conference 2018)
Crossref
 
DBpedia Tutorial - Feb 2015, Dublin
m_ackermann
 
DC-2008 Tutorial 3 - Dublin Core and other metadata schemas
Mikael Nilsson
 
Semantic Technologies and Triplestores for Business Intelligence
Marin Dimitrov
 
Open for Business Open Archives, OpenURL, RSS and the Dublin Core
Andy Powell
 
Introduction to RDF & SPARQL
Open Data Support
 
Embedding Linked Data Invisibly into Web Pages: Strategies and Workflows for ...
National Information Standards Organization (NISO)
 
Introduction to Web Services
Jeffrey Anderson
 

Viewers also liked (20)

PDF
IoT Toolkit and the Smart Object API Tutorial Introduction
Michael Koster
 
PPTX
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
PDF
IoT Toolkit and the Smart Object API - Architecture for Interoperability
Michael Koster
 
PDF
Tools for the Open Source Internet of Things
Michael Koster
 
PDF
Iottoolkit osiot
Michael Koster
 
PPTX
IP based standards for IoT
Michael Koster
 
PDF
MQTT - REST Bridge using the Smart Object API
Michael Koster
 
PPTX
Iottoolkit wot
Michael Koster
 
PDF
M2M Protocol Interoperability using IoT Toolkit
Michael Koster
 
PDF
REST APIs for the Internet of Things
Michael Koster
 
PDF
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Michael Koster
 
PPTX
Jörg Waitelonis, Henrik Jürges and Harald Sack | Don't compare Apples to Oran...
semanticsconference
 
PDF
Joe Pairman | Multiplying the Power of Taxonomy with Granular, Structured Con...
semanticsconference
 
PDF
Michael Fuchs | How to compute semantic relationships between entities and fa...
semanticsconference
 
PDF
Camilo Thorne, Stefano Faralli and Heiner Stuckenschmidt | Entity Linking for...
semanticsconference
 
PDF
Diego Esteves, Pablo Mendes, Diego Moussallem, Julio Cesar Duarte, Amrapali Z...
semanticsconference
 
PDF
Philippe Martin and Jérémy Bénard | Importing, Translating and Exporting Know...
semanticsconference
 
PPTX
Robert Isele | eccenca CorporateMemory - Semantically integrated Enterprise D...
semanticsconference
 
PDF
Kerstin Diwisch | Towards a holistic visualization management for knowledge g...
semanticsconference
 
PDF
Edgard Marx, Amrapali Zaveri, Diego Moussallem and Sandro Rautenberg | DBtren...
semanticsconference
 
IoT Toolkit and the Smart Object API Tutorial Introduction
Michael Koster
 
Ietf91 ad hoc-coap-lwm2m-ipso
Michael Koster
 
IoT Toolkit and the Smart Object API - Architecture for Interoperability
Michael Koster
 
Tools for the Open Source Internet of Things
Michael Koster
 
Iottoolkit osiot
Michael Koster
 
IP based standards for IoT
Michael Koster
 
MQTT - REST Bridge using the Smart Object API
Michael Koster
 
Iottoolkit wot
Michael Koster
 
M2M Protocol Interoperability using IoT Toolkit
Michael Koster
 
REST APIs for the Internet of Things
Michael Koster
 
Iot Toolkit and the Smart Object API - Architecture for Interoperability
Michael Koster
 
Jörg Waitelonis, Henrik Jürges and Harald Sack | Don't compare Apples to Oran...
semanticsconference
 
Joe Pairman | Multiplying the Power of Taxonomy with Granular, Structured Con...
semanticsconference
 
Michael Fuchs | How to compute semantic relationships between entities and fa...
semanticsconference
 
Camilo Thorne, Stefano Faralli and Heiner Stuckenschmidt | Entity Linking for...
semanticsconference
 
Diego Esteves, Pablo Mendes, Diego Moussallem, Julio Cesar Duarte, Amrapali Z...
semanticsconference
 
Philippe Martin and Jérémy Bénard | Importing, Translating and Exporting Know...
semanticsconference
 
Robert Isele | eccenca CorporateMemory - Semantically integrated Enterprise D...
semanticsconference
 
Kerstin Diwisch | Towards a holistic visualization management for knowledge g...
semanticsconference
 
Edgard Marx, Amrapali Zaveri, Diego Moussallem and Sandro Rautenberg | DBtren...
semanticsconference
 
Ad

Similar to Linked Data (in low-resource) Platforms: a mapping for Constrained Application Protocol (20)

PDF
Introduction to LDP in Apache Marmotta
Sergio Fernández
 
PPT
W3C Linked Data Platform Overview
Steve Speicher
 
PPTX
Best of Marketing
marketingtips02
 
PDF
30° Nexa Lunch Seminar - Linked Data Platform vs real world
Diego Valerio Camarda
 
PPTX
Application integration with the W3C Linked Data standards
Nandana Mihindukulasooriya
 
PDF
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
Seonho Kim
 
PDF
Ipso eclipse-summary
Michael Koster
 
PDF
Linked Data Notifications Distributed Update Notification and Propagation on ...
Aksw Group
 
PPTX
JavaOne2013 Leveraging Linked Data and OSLC
Steve Speicher
 
PDF
EKAW - Linked Data Publishing
Ruben Taelman
 
PDF
(Enterprise) Linked Data Platform a new standard to manage LOD
Diego Valerio Camarda
 
PPTX
Ipso smart object seminar
Michael Koster
 
PPTX
Web of Things to the edge
Michael Koster
 
PPTX
Linked Data Platform as a novel approach for Enterprise Application Integra...
Nandana Mihindukulasooriya
 
PDF
Wed roman tut_open_datapub
eswcsummerschool
 
PDF
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Sergio Fernández
 
PPTX
Hypermedia for Machine APIs
Michael Koster
 
PDF
Sla em-20140326
zepheiraorg
 
PPTX
Smart Service Proxy
SPITFIRE_EU
 
Introduction to LDP in Apache Marmotta
Sergio Fernández
 
W3C Linked Data Platform Overview
Steve Speicher
 
Best of Marketing
marketingtips02
 
30° Nexa Lunch Seminar - Linked Data Platform vs real world
Diego Valerio Camarda
 
Application integration with the W3C Linked Data standards
Nandana Mihindukulasooriya
 
ALLDATA 2015 - RDF Based Linked Data Management as a DaaS Platform
Seonho Kim
 
Ipso eclipse-summary
Michael Koster
 
Linked Data Notifications Distributed Update Notification and Propagation on ...
Aksw Group
 
JavaOne2013 Leveraging Linked Data and OSLC
Steve Speicher
 
EKAW - Linked Data Publishing
Ruben Taelman
 
(Enterprise) Linked Data Platform a new standard to manage LOD
Diego Valerio Camarda
 
Ipso smart object seminar
Michael Koster
 
Web of Things to the edge
Michael Koster
 
Linked Data Platform as a novel approach for Enterprise Application Integra...
Nandana Mihindukulasooriya
 
Wed roman tut_open_datapub
eswcsummerschool
 
Semantics on services: the story so far (SALAD2015 keynote at ESWC2015)
Sergio Fernández
 
Hypermedia for Machine APIs
Michael Koster
 
Sla em-20140326
zepheiraorg
 
Smart Service Proxy
SPITFIRE_EU
 
Ad

Recently uploaded (20)

PDF
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
PDF
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PDF
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PPTX
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
PDF
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PPTX
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
PPTX
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
PDF
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
PPTX
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
PDF
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
PDF
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 
Beyond Binaries: Understanding Diversity and Allyship in a Global Workplace -...
Imma Valls Bernaus
 
Linux Certificate of Completion - LabEx Certificate
VICTOR MAESTRE RAMIREZ
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Automate Cybersecurity Tasks with Python
VICTOR MAESTRE RAMIREZ
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Salesforce CRM Services.VALiNTRY360
VALiNTRY360
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Human Resources Information System (HRIS)
Amity University, Patna
 
A Complete Guide to Salesforce SMS Integrations Build Scalable Messaging With...
360 SMS APP
 
HiHelloHR – Simplify HR Operations for Modern Workplaces
HiHelloHR
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Agentic Automation Journey Session 1/5: Context Grounding and Autopilot for E...
klpathrudu
 
Tally_Basic_Operations_Presentation.pptx
AditiBansal54083
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pdf
Varsha Nayak
 
Revolutionizing Code Modernization with AI
KrzysztofKkol1
 
유니티에서 Burst Compiler+ThreadedJobs+SIMD 적용사례
Seongdae Kim
 
Alarm in Android-Scheduling Timed Tasks Using AlarmManager in Android.pdf
Nabin Dhakal
 

Linked Data (in low-resource) Platforms: a mapping for Constrained Application Protocol

  • 1. Linked Data (in low-resource) Platforms: a mapping for Constrained Application Protocol G. Loseto, S. Ieva, F. Gramegna, M. Ruta, F. Scioscia, E. Di Sciascio Politecnico di Bari, Bari (Italy) The 15th International Semantic Web Conference (ISWC 2016) October 17-21, 2016 - Kobe, Japan
  • 2. 2 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Outline o Linked Data Platform (LDP) o Introduction o Current implementations o Linked Data (in low-resource) Platforms o Constrained Application Protocol (CoAP) o Challenges o LDP-CoAP o Proposed HTTP-CoAP mapping o Framework Architecture o Validation o Conclusion and Future Work
  • 3. 3 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Linked Data Platform Linked Data Platform 1.0 - W3C Recom. 26 February 2015 “Linked Data Platform (LDP) defines a set of rules for HTTP operations on web resources, some based on RDF, to provide an architecture for read- write Linked Data on the web.” LDP specifications o HTTP Methods o HTTP Headers o LDP Resources (7 types)
  • 4. 4 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP Resources LDP Resource (LDPR) o following LDP guidelines LDP RDF Source (LDP-RS) o corresponding to an RDF graph o fully represented in an RDF syntax LDP Non-RDF Source (LDP-NR) o binary or text document not represented in RDF o can be associated to useful metadata (creation date, owner) @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://www.w3.org/ns/ldp#>. <http://example.org/sensor/> a ldp:RDFSource; dcterms:title “Sensor Example” .
  • 5. 5 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP Containers LDP Basic Container (LDP-BC) o linking resources through the ldp:contains predicate LDP Direct Container (LDP-DC) o specifying the membership resource and the member relation LDP Indirect Container (LDP-IC) o supporting member resources with not predefined URIs
  • 6. 6 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Current LDP Implementations Name Status Last Version License Language Supported LDPR RS NR BC DC IC RWW.IO Pending Nov 2014 MIT PHP yes no yes no no Apache Marmotta Full Rel. Dec 2014 APL 2.0 Java yes yes yes no no Bygle In progress Feb 2015 APL 2.0 Java yes no yes no no Eclipse Lyo Completed Mar 2015 EPL 1.0 Java yes yes yes yes no LDP.js Completed Apr 2015 APL 2.0 JavaScript yes yes no yes no Glutton In progress Apr 2015 GPL v3 Python yes no yes no no Carbon LDP In progress Oct 2015 BSD JavaScript yes yes yes yes yes LDP4j In progress Dec 2015 APL 2.0 Java yes yes no yes yes RWW Play In progress Dec 2015 APL 2.0 Scala yes yes yes no no Fedora Full Rel. Jan 2016 APL 2.0 Java yes yes yes yes yes Callimachus Full Rel. Mar 2016 APL 2.0 Java yes yes no no yes gold In progress Apr 2016 MIT Go yes no yes no no OpenLink Virtuoso Full Rel. Apr 2016 GPL v2 C/C++ yes no yes no no
  • 7. 7 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Linked Data (in low-resource) Platforms Linked Data Platform Use Cases and Requirements W3C Working Group Note - 13 March 2014 3.12 Constrained Devices and Networks o support RESTful interfaces also on resource-constrained devices o usage of IoT/WoT standards such as the Constrained Application Protocol (CoAP) o SPARQL 1.1 Update [W3C Rec., 21 March 2013] not feasible o current HTTP-CoAP Mapping suggested [Castellani et al., IETF-Draft, 2016] Constrained Application Protocol (CoAP) Level 7 standard designed for M2M communication 4 HTTP-derived methods (over UDP) REST (REpresentational State Transfer) architectural style Resources identified by URI
  • 8. 8 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-CoAP Mapping (1/2) Limits of current HTTP- CoAP mapping Only basic HTTP interactions supported HTTP methods (OPTIONS, HEAD, PATCH) not defined in CoAP Several HTTP headers not allowed Specific MIME types missing HTTP status codes mapped with available CoAP codes PATCH, HEAD and OPTIONS mapped to existing methods Mapping LDP-required HTTP headers of request/response messages Novel content-format media types: text/turtle, application/ld+json Proposed Solution: LDP-CoAP Significant LDP functionalities lost! Enhanced HTTP-CoAP mapping rules
  • 9. 9 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-CoAP Mapping (2/2) Method Type Supported in CoAP LDP-CoAP Mapping HTTP Status Code CoAP Status Code GET Mandatory Yes GET 200 OK 2.05 Content POST Optional Yes POST 201 Created 2.01 Created PUT Optional Yes PUT 204 No Content 2.04 Changed DELETE Optional Yes DELETE 204 No Content 2.02 Deleted PATCH Optional No PUT ?ldp=patch 204 No Content 2.04 Changed HEAD Mandatory No GET ?ldp=head 204 No Content 2.03 Valid OPTIONS Mandatory No GET ?ldp=options 204 No Content 2.05 Content Achievements (not available before) o all LDP features and capabilities preserved o client-server communication through CoAP protocol o discovery of LDP resources based on CoRE Link Format o lightweight implementation for embedded devices
  • 10. 10 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-CoAP: Architecture Implementation based on Californium CoAP Java library [Kovatsch et al., IEEE-IoT, 2014] <ldp-coap-proxy> package <ldp-coap-core> package <ldp-coap-raspberry> package <californium-coap-ldp> package <ldp-coap-android> package requires requires requires CoAP CoAP CoAP LDP Client HTTP LDP-CoAP Client CoAP CoAP
  • 11. 11 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) CoRE Resource Discovery CoAP GET request on /.well-known/core </.well-known/core>, </ldp-rs> rt=“ldp:RDFSource ldp:Resource”; ct=4; title=“ldp-rs”, </ldp-dc> rt=“ldp:DirectContainer ldp:Container ldp:Resource”; ct=4; title=“ldp-dc”, </ldp-dc/tmp35> rt=“ssn:SensingDevice ldp:Resource”; ct=4; title=“tmp35”, </ldp-dc/tmp35/obs1> rt=“ssn:Observation ldp:Resource”; ct=4; title=“obs1” CoAP Resp CoAP Resp LDP-CoAP Client CoAP Req <ldp-coap-proxy> package <ldp-coap-core> package CoAP Req SERVER RT (Resource Type) CT (Content-Format) ct=4 (text/turtle)
  • 12. 12 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) HTTP Options OPTIONS /ldp-dc HTTP/1.1 Host: example.org HTTP/1.1 204 No Content Allow: OPTIONS, HEAD, GET, POST, PUT, PATCH Accept-Post: text/turtle, application/ld+json Accept-Patch: text/ldpatch Link: <http://www.w3.org/ns/ldp#DirectContainer> rel="type", <http://www.w3.org/ns/ldp#Resource> rel="type" Mapping Example: OPTIONS LDP Client HTTP Resp HTTP Req <ldp-coap-proxy> package <ldp-coap-core> package CoAP Req CoAP Resp SERVER CoAP Options GET coap://example.org/ldp-dc?ldp=options 2.05 Content Content-Format (ct): application/json { "Allow": ["OPTIONS", "HEAD", "GET", "POST", "PUT", "PATCH"], "Accept-Post": [ "text/turtle", "application/ld+json”], "Accept-Patch": "text/ldpatch" } 1 CoAP Resource Discovery GET coap://example.org/.well-known/core?title=ldp-dc 2.05 Content </ldp-dc> rt=“ldp:DirectContainer ldp:Container ldp:Resource”; ct=4; title=“ldp-dc” 2
  • 13. 13 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) HTTP GET GET /ldp-dc HTTP/1.1 Host: example.org Accept: text/turtle HTTP/1.1 200 OK Allow: OPTIONS, HEAD, GET, POST, PUT, PATCH Accept-Post: text/turtle, application/ld+json Accept-Patch: text/ldpatch Link: <http://www.w3.org/ns/ldp#DirectContainer> rel="type", <http://www.w3.org/ns/ldp#Resource> rel="type“ @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://www.w3.org/ns/ldp#>. <http://example.org/ldp-dc/> a ldp:DirectContainer; dcterms:title “Sensor Container" Mapping Example: GET LDP Client HTTP Resp HTTP Req <ldp-coap-proxy> package <ldp-coap-core> package CoAP Req CoAP Resp SERVER CoAP GET GET coap://example.org/ldp-dc Accept: text/turtle 2.05 Content Content-Format (ct): text/turtle ETag: W/’123456789’ @prefix dcterms: <http://purl.org/dc/terms/>. @prefix ldp: <http://www.w3.org/ns/ldp#>. <http://example.org/ldp-dc/> a ldp:DirectContainer; dcterms:title “Sensor Container" 1 CoAP Resource Discovery 2 CoAP OPTIONS 3
  • 14. 14 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-CoAP: Validation LDP Test Suite for W3C Linked Data Platform 1.0 o 236 tests referred to the LDP W3C specification o results grouped by LDP resources: RS, NR, BC, DC, IC o 3 compliance levels: MUST, SHOULD, MAY Feature LDP-RS LDP-NR LDP-BC LDP-DC LDP-IC MUST 22/24 (91.7%) 12/15 (80.0%) 32/37 (86.5%) 37/42 (88.1%) 33/39 (84.6%) SHOULD 5/7 (71.4%) 1/1 (100%) 15/17 (88.2%) 17/19 (89.5%) 15/17 (88.2%) MAY 1/1 (100%) 4/6 (66.7%) 4/4 (100%) 4/4 (100.0%) 4/4 (100%) AVG 87.7% 82.2% 91.6% 92.5% 90.9% MUST SHOULD MAY UNSUPPORTED
  • 15. 15 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-Tools Comparison Tool LDP-RS LDP-NR LDP-BC LDP-DC LDP-IC Eclipse Lyo 100% 100% 100% 100% X Fedora 4 80.1% 97.8% 86.0% 87.6% 84.7 LDP4j 100% X 87.7% 88.2% 86.0% Apache Marmotta 100% 100% 100% X X Carbon LDP 56.0% 33.3% 46.5% 46.9% 44.4% LDP.js 95.2% X 96.1% 96.5% X LDP-CoAP 87.7% 82.2% 91.6% 92.5% 90.9% 20 30 40 50 60 70 80 90 100 110 Basic Container Direct Container Indirect Container RDF Resource Non RDF Source ProcessingTime(ms) LDP Resources LDP-CoAP Virtuoso LDP.js Marmotta LDP4j RWW.IO Fedora4 Eclipse Lyo
  • 16. 16 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) LDP-CoAP: Device Performance 3 different Java-compatible platforms o PC with Intel Core i7 CPU (@3.50 GHz), 12 GB DDR3 RAM o Android 5.1.1 Smartphone (LG Google E960 Nexus 4), 2 GB RAM o Raspberry Pi Model B, 512 MB RAM (shared) o Average response times under 1 second both on Android and Raspberry (except for LDP-NR) o Memory allocation peak:  44.7 MB on PC  18.3 MB on Android  7.4 MB on Raspberry (in figure) 10.0 100.0 1000.0 10000.0 Basic Container Direct Container Indirect Container RDF Resource Non RDF Source Time(ms) LDP Resources PC Android Raspberry Pi 2 3 4 5 6 7 8 1 6 11 16 21 26 31 36 41 46 51 56 MemoryUsage(MB) Sampling Time (T = 2 sec)
  • 17. 17 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Conclusion Main Contributions o enhanced HTTP-CoAP mapping of the Linked Data Platform specification o LDP exploitation in resource-constrained devices o all LDP Resources supported (but not every requirement yet) o LDP-CoAP framework publicly released as open source Future Work o mapping of unsupported LDP features o porting LDP-CoAP to more computing platforms (e.g., Arduino) o further performance evaluation o definition of a complete scenario/testbed to expose real-time sensor data
  • 18. 18 of 18 Loseto et al., Linked Data (in low-resource) Platforms: a mapping for CoAP The 15th International Semantic Web Conference (ISWC 2016) Contact For more information about LDP-CoAP, please get in touch with us: Prof. Michele Ruta (Project Coordinator) [email protected] Dr. Giuseppe Loseto (Lead Project Developer) [email protected] Web Page: http://sisinflab.poliba.it/swottools/ldp-coap Github repository: github.com/sisinflab-swot/ldp-coap-framework Member of the W3C LDP Next Community Group