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

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

  • 1.
    Linked Data (inlow-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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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 Losetoet 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