A set of slides that provides a high-level overview of the W3C Linked Data Platform specification presented at the 4th Linked Data in Architecture and Construction Workshop.
For more detailed and technical version of the presentation, please refer to
http://www.slideshare.net/nandana/learning-w3c-linked-data-platform-with-examples
LDAC 2016 programme
http://smartcity.linkeddata.es/LDAC2016/#programme
4. Linked Data
4
Linked Data principles
• Use URIs as names for things
• Use HTTP URIs so that people can look up
those names
• When someone looks up a URI, provide
useful information, using the standards
(RDF*, SPARQL)
• Include links to other URIs, so that they can
discover more things
Tim Berners-Lee. Linked data-design issues (2006) http://www. w3.org/DesignIssues/LinkedData.html
Leo Sauermann and Richard Cyganiak. Cool URIs for the Semantic Web (2008) http://www.w3.org/TR/cooluris/
Tom Heath and Christian Bizer. Linked Data: Evolving the Web into a Global Data Space (2011) http://linkeddatabook.com/
2006
5. Let’s see an example
5
FI - UPM
Bloque 5
GET /data/building/bloque3#it HTTP/1.1
Host: fi.upm.es
HTTP/1.1 200 OK
Content-Type: text/turtle; charset=UTF-8
Content-Length: 250
@prefix dc: <http://purl.org/dc/terms/> .
@prefix dbo: <http://dbpedia.org/ontology/> .
@prefix geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> .
@prefix ifc: <http://ifcowl.openbimstandards.org/IFC4#> .
<http://fi.upm.es/data/bloque3#it> a ifc:IfcBuilding;
ifc:buildingAddress_IfcBuilding _:address;
geo:long "-116.175869655195683"^^xsd:decimal ;
geo:lat "43.544840771226816"^^xsd:decimal ;
dbo:city <http://dbpedia.org/resource/Madrid>;
dbo:owningOrganisation <http://fi.upm.es> .
(1)
(3)
(4)
(2) http://fi.upm.es/data/bloque3#it
9. LDP4j
9
• Java-based framework for the development of read-write Linked
Data applications
• Motto: Focus on your business logic, we will take care of the rest
• License: Apache License, v2.0
• Features:
• Simplified business object handling:
• Lifting from and lowering to an intermediate representation that can be
automatically unmarshalled from or marshalled to RDF, respectively.
• LDP support
• Protocol conversation control
• Transparent metadata management
• REST aware
• Transparent publication of RDF URIRefs.
• HTTP compliant
• The framework takes care of fulfilling the requirements prescribed by the
HTTP related RFCs (i.e., conditional requests processing, content
negotiation, entity tag handling,…)
www.ldp4j.org
https://github.com/ldp4j/ldp4j @LDP4j
contact@ldp4j.org
10. Other related initiatives
10
• W3C Hydra Community Group
• https://www.w3.org/community/hydra/
• W3C Read Write Web Community Group
• https://www.w3.org/community/rww/
• W3C RDF Shapes Working Group
• https://www.w3.org/2014/data-shapes/charter
• W3C Permissions & Obligations Expression Working
Group
• https://www.w3.org/2016/poe/charter
• WebID Community Group
• https://www.w3.org/community/webid/
14. Common LDP scenarios
14
• Looking up a Linked Data resource
• Paging
• Modifying a Linked Data resource
• Creating Linked Data resources
• Basic Container / Direct Containers / Indirect
containers
• Creating Linked Data Platform containers
• Deleting a Linked Data resource
15. Looking up a Linked Data resource
15
• a simple HTTP GET with
• additional guarantees
• LDP mandates some features that are optional in HTTP
• e.g., e-tags, HEAD, OPTIONS
GET
200 OK
GET
16. LDP Paging
16
• Some resources are too large
• Clients may not be able to handle the complete resource
• Alternatives
• Server-driven
• Client-driven
• Client preferences
• max-triple-count, max-kbyte-count, max-member-count
• Page links
• next, canonical, first, last,
17. Modifying a Linked Data resource
17
200 OK
PUT/PATCH
ETag: “123456789”
If-Match: W/'123456789'
GET
204 No Content
GET
Modify
• uses HTTP PUT or PATCH operations
• encourages conditional requests to avoid “lost update”
problem
18. LDP Containers
18
• a special type of Linked Data resource that acts as
• an enumeration of a collection of linked documents
• a creation factory
• Handles resource management and clean up
• Flexible and configurable
• Three types of LDP containers
• Direct container
• Direct container
• Indirect container
19. LDP Basic Container - Creating an LDPR
19
Contact List
<<Basic Container>>
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Fernando’s
Contact
POST
20. LDP Basic Container - Creating an LDPR
20
Raul’s
Contact
Miguel’s
Contact
ldp:contains
ldp:contains
Fernando’s
Contact
POST
Fernando’s
Contact
ldp:contains
Contact List
<<Basic Container>>
24. Smart Developer Hub
24
• integration of heterogeneous ALM tools and the
provision of tool-independent metrics
25. References
25
• Linked Data Platform 1.0
• http://www.w3.org/TR/ldp/
• Linked Data Platform 1.0 Primer
• http://www.w3.org/TR/ldp-primer/
• Linked Data Platform Best Practices and Guidelines
• http://www.w3.org/TR/ldp-bp/
• Linked Data Platform Paging 1.0
• http://www.w3.org/TR/ldp-paging/
• Linked Data Patch Format
• http://www.w3.org/TR/ldpatch/