Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction to LDP in Apache Marmotta


Published on

Introduction to LDP in Apache Marmotta, slides for the Apache Marmotta tutorial at ISWC2014

Published in: Engineering

Introduction to LDP in Apache Marmotta

  1. 1. LDP in Apache Marmotta
  2. 2. Sergio Fernández @wikier Who Am I Committer at the Apache Software Foundation also… Member of the LDP working group at W3C Senior Researcher at Salzburg Research Partner Technology Manager at Redlink GmbH
  3. 3. What is LDP? a set of best practices and simple approach for a read-write Linked Data architecture, based on HTTP access to web resources that describe their state using the RDF data model Linked Data Platform 1.0 W3C Last Call Working Draft 16 Sep 2014
  4. 4. A bit of history…. 2007 Linked Data Design Issues 2010 Linked Media Principles 2011 Linked Data Basic Profile 1.0 2012 Linked Data Platform 1.0
  5. 5. Linked Data 1. Use URIs as names for things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a URI, provide useful information, using the standards (RDF*, SPARQL) 4. Include links to other URIs, so that they can discover more things LDP provides clarifications and extensions of the rules of Linked Data principles, providing a specification that describes the use of HTTP for accessing, updating, creating and deleting resources from servers that expose their resources as Linked Data
  6. 6. Terminology ● Linked Data Platform Resource (LDPR) an HTTP resource ● Linked Data Platform RDF Source (LDP-RS) an LDPR whose state is fully represented in RDF, corresponding to an RDF graph ● Linked Data Platform Non-RDF Source (LDP-NR) an LDPR whose state is not represented in RDF ● Linked Data Platform Container (LDPC) a LDP-RS representing a collection of LDPR ● Linked Data Platform Basic Container (LDP-BC) an LDPC that defines a simple link to its contained resources ● Linked Data Platform Direct Container (LDP-DC) an LDPC that adds the concept of membership, allowing the flexibility of choosing what form takes ● Linked Data Platform Indirect Container (LDP-IC) an LDPC similar to a LDP-DC that is also capable of having members whose URIs are based on its contained documents rather than the URIs assigned to those documents
  7. 7. LDP Hierarchy
  8. 8. LDP server and resources a LDP server manages two kinds of resources: ● those resources whose state is represented using RDF (LDP-RSs) ● and those using other formats (LDP-NRs) Such servers do not impose any restriction on LDPRs and generally act as storage systems without any domain specific application logic and vocabularies.
  9. 9. LDP concepts in a glance ● LDP covers read and write interactions with resources ● Writable aspects include creation of new resources (using POST or PUT), updates (using PUT or PATCH), and deletion of resources. ● Resource creation is an essential feature providing structured creation of resources. ● During creation the created resource is added to its Container and a containment link between the Container and the new entry is made.
  10. 10. LDP Containers a LDPC is a specialization of a LDP-RS representing a collection of links to other resources responds to client requests for creation, modification, and/or enumeration of its members The simplest container is the Basic Container (LDP-BC). It defines the basic containment described using a generic vocabulary. This can be used in a generic storage service to manage a containment hierarchy of arbitrary resources
  11. 11. LDP Containers (II) Containers can contain other containers. This can be done by POSTing (a child) container representation to a (parent) container.
  12. 12. LDP Direct Containers A Direct Container is a specialisation of a Basic Container. Additional assertions called membership triples which use a domain-specific vocabulary are made by a Direct Container as part of the creation process. The membership triples augment the containment triples maintained by all containers. LDP-DCs are used for the management custom scenarios, where use of existing vocabulary is preferable.
  13. 13. LDP Containers applications Direct Container membership triples can be about subjects other than the Container resource.
  14. 14. LDP Containers applications (II) Also different facets of a Resource be managed using multiple Containers.
  15. 15. LDP protocol particularities ● LDP defines two interaction models: ○ LDPC by default, which creates a container accepting the creation of resources ○ LDPR creates resources which does not accept creation of new resources. ● LDP reuses some things from Atom (RFC 5023): ○ The Slug header is used for requesting naming resources on creation ○ The Prefer header is used optionally by clients to supply a hint to help the server form a response that is most appropriate
  16. 16. LDP in Apache Marmotta ● Since version 3.2.0 Marmotta is compatible with LDP 1.0 drafts ● Although not full support: ○ LDP-DC and LDP-IC are not (yet?) supported ● LDP support is provided under /ldp ○ requests to /resource are still managed following the old Linked Media Principles
  17. 17. References: ● Linked Data Platform 1.0 W3C Last Call Working Draft 16 September 2014 ● Linked Data Platform 1.0 Primer W3C First Public Working Draft 26 June 2014 ● Linked Data Platform Best Practices and Guidelines W3C Working Group Note 28 August 2014 ● Linked Data Platform Implementation Conformance Report Unofficial Draft 15 October 2014 ● Linked Data Platform 1.0 Test Cases Unofficial Draft 15 October 2014
  18. 18. let's play! but… Jakob ;-)
  19. 19. acknowledgments to the MICO FP7 project (grant no. 610480) grazie!
  20. 20. CC BY-SA 3.0