WWW2013 Linked Data Platform (LDP) 20130515
Próxima SlideShare
Cargando en...5
×

¿Le gusta esto? Compártalo con su red

Compartir

WWW2013 Linked Data Platform (LDP) 20130515

  • 2,314 reproducciones
Uploaded on

Introduction to the upcoming W3C Linked Data Platform (LDP) standard: HTTP-based (RESTful) application integration patterns using read/write Linked Data. ...

Introduction to the upcoming W3C Linked Data Platform (LDP) standard: HTTP-based (RESTful) application integration patterns using read/write Linked Data.
Note: This presentation contains material contributed by my colleague Steve Speicher.

Más en: Tecnología , Educación
  • Full Name Full Name Comment goes here.
    ¿Está seguro?
    Tu mensaje aparecerá aquí
    Be the first to comment
No Downloads

reproducciones

reproducciones totales
2,314
En SlideShare
1,995
De insertados
319
Número de insertados
6

Acciones

Compartido
Descargas
33
Comentarios
0
Me gusta
11

Insertados 319

http://eventifier.co 252
https://twitter.com 35
http://johngoodwin225.tumblr.com 26
http://eventifier.com 4
http://www.tumblr.com 1
http://translate.googleusercontent.com 1

Denunciar contenido

Marcada como inapropiada Marcar como inapropiada
Marcar como inapropiada

Seleccione la razón para marcar esta presentación como inapropiada.

Cancelar
    No notes for slide

Transcript

  • 1. © 2013 IBM CorporationLinked Data PlatformArnaud J Le Hors, IBM Linked Data Standards Leadlehors@us.ibm.comLinked Data Platform15 May 2013
  • 2. © 2013 IBM Corporation2Linked Data PlatformAgenda➢ IBM Rationals ALM Integration Challenge■ Linked Data■ Applying Linked Data to ALM■ Challenges of using Linked Data■ W3C Linked Data Platform■ Related Projects
  • 3. © 2013 IBM Corporation3Linked Data PlatformSoftware Development Tools : Year 2000 - point productsUser complaints–Need tools to work better–Need tools to work togetherSoftwareConfigurationManagementWork-item & defecttracking (aka ChangeManagement)Build automation& managementTest automation& managementRequirementsmanagement
  • 4. © 2013 IBM CorporationLinked Data PlatformALM Solution• Developer complaints– Clumsy integrations– Want best-of-breed choice• Management complaints– Need governance, metrics,reports, …• Mixed Tool Environments– Open-source offerings with DIYintegration– 3rdparty ALM suitesSoftwareConfigurationManagementWork-item & defecttracking (aka ChangeManagement)Build automation& managementTest automation& managementRequirementsmanagement4Year 2005 – Application Lifecycle Management (ALM) V1
  • 5. © 2013 IBM Corporation5Linked Data PlatformAgenda■ IBM Rationals ALM Integration Challenge➢ Linked Data■ Applying Linked Data to ALM■ Challenges of using Linked Data■ W3C Linked Data Platform■ Related Projects
  • 6. © 2013 IBM CorporationLinked Data PlatformLinked Data – Defined by Tim Berners-Lee1. Use URIs as names for things2. 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.He concludes this with: “Simple.”Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27
  • 7. © 2013 IBM CorporationLinked Data PlatformNot All Linked Data needs to be Linked Open Data (LOD)★ Available on the web (whatever format) but with an open licence, to be Open Data★★ Available as machine-readable structured data (e.g. excel instead of image scanof a table)★★★ As (2) plus non-proprietary format (e.g. CSV instead of excel)★★★★ All the above plus, Use open standards from W3C (RDF and SPARQL) to identifythings, so that people can point at your stuff★★★★★ All the above, plus: Link your data to other people’s data to provide context This does NOT mean all Linked Data must be freely available. Just like not all web pages are publicly available not all Linked Data needs to be.Added in 2010 by Tim Berners-Lee: “in order to encourage people,especially government data owners, along the road to goodlinked data, I have developed this star rating system”
  • 8. © 2013 IBM CorporationLinked Data PlatformW3C Linked Data SpecificationsDomain SpecificationsProtocol  HTTPData Model  RDFSerialization Format  RDF/XML Turtle TriG RDFa JSON-LDQuery  SPARQL There are other specifications that relate to the Semantic Web such as OWL that you canuse in addition but you dont need to use any of the Semantic Web features (ontologies,inferencing, reasoning, etc) to make use of Linked Data.
  • 9. © 2013 IBM Corporation9Linked Data PlatformAgenda■ IBM Rationals ALM Integration Challenge■ Linked Data➢ Applying Linked Data to ALM■ Challenges of using Linked Data■ W3C Linked Data Platform■ Related Projects
  • 10. © 2013 IBM CorporationLinked Data PlatformSoftwareConfigurationManagementWork-item & defecttracking (aka ChangeManagement)Build automation& managementTest automation& managementRequirementsmanagementYear 2010 – IBM Rationals Breakthrough10Integrate with data & open protocols instead of glue code“If the entire Web can connect like this, why wouldnt the same idea work for ALM?” Applying Linked Data to the ALM Integration Challenge: Artifacts such as defects, change requests, and tests become resources exposed as RDFthat can be linked to each other Tools simply access the resources via HTTP following the Linked Data principles
  • 11. © 2013 IBM CorporationLinked Data PlatformApplying Linked Data to ALM – A development tools exampleTestCase 14 is blocked by Issue 973http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973
  • 12. © 2013 IBM CorporationLinked Data PlatformApplying Linked Data to ALM – A development tools exampleTestCase 14 is blocked by Issue 973http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973Issue 973 depends on Bug 318http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318Issue 973 is owned by Joehttp://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.me
  • 13. © 2013 IBM CorporationLinked Data PlatformApplying Linked Data to ALM – A development tools exampleTestCase 14 is blocked by Issue 973http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973Issue 973 depends on Bug 318http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318Issue 973 is owned by Joehttp://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.meJoe is a committer for Apachehttp://joecoder.me doap:committer http://apache.org
  • 14. © 2013 IBM Corporation14Linked Data PlatformAgenda■ IBM Rationals ALM Integration Challenge■ Linked Data■ Applying Linked Data to ALM➢ Challenges of using Linked Data■ W3C Linked Data Platform■ Related Projects
  • 15. © 2013 IBM Corporation15Linked Data PlatformChallenges of using Linked Data■ No formal definition■ State of the art is primarily about publishing read-only data on the web, downloaded andupdated as large dumps or via a SPARQL entry point■ Tim Berners-Lees four principles are a terrific foundation but don’t go far enough.■ Developers are left with many unanswered questions:– How do I create a resource?• It seems obvious that you use POST to create, but what do you POST to?– Where can I get the list of resources that already exist?– Which vocabulary do I use?– Which media types do I use?– When containers get big, how do I split the information into pages?– How do I specify ordering?
  • 16. © 2013 IBM Corporation16Linked Data PlatformAgenda■ IBM Rationals ALM Integration Challenge■ Linked Data■ Applying Linked Data to ALM■ Challenges of using Linked Data➢ W3C Linked Data Platform■ Related Projects
  • 17. © 2013 IBM CorporationLinked Data PlatformW3C Linked Data Platform (LDP) Working Group Workgroup membership spans 50 participants from 30 organizations Chair: Arnaud J Le Hors (IBM) Working towards defining a clear definition of “Linked Data”, in the form of a W3CRecommendation– Based on Tim Berners-Lee four principles of Linked Data Chartered to produce a “Linked Data Platform” specification that:– HTTP-based (RESTful) application integration patterns using read/write Linked Data– Will complement SPARQL and will be compatible with standards for publishing Linked Data,bringing the data integration features of RDF to RESTful, data-oriented softwaredevelopment. Published Linked Data Platform Latest Public Working Draft on 7 March 2012 Published Use Case & Requirements First Public Working Draft on 31 January 2013 On track to deliver a W3C Candidate Recommendation in 2013Details @ http://www.w3.org/2012/ldp
  • 18. © 2013 IBM Corporation18Linked Data PlatformLinked Data Platform (LDP)■ A set of rules that clarify and extends Tim Berners-Lees four basic rules focusing on thefollowing concepts:– LDP Resources (LDPR)– HTTP and RDF techniques to use to read and write linked data– LDP Containers (LDPC)– A LDPR to which you POST to create new things, GET to find existing things– Similar to what AtomPub does for XML– Paging– A mechanism to get the content of a LDPC in chunks– Ordering– A mechanism to specify the order in which the content of a LDPC is sorted
  • 19. © 2013 IBM CorporationLinked Data PlatformLinked Data Platform Resource (LDPR)Some rules:1. LDPRs are HTTP resources that can be created, modified, deleted and read using standardHTTP methods (i.e., POST, PUT/PATCH, DELETE, GET).2. LDPRs use RDF to define their states.3. You can request a Turtle representation of a LDPR and possibly other reps (e.g., XML/RDF)4. LDP clients use Optimistic Collision Detection on update.5. LDPRs set rdf:type explicitly.6. LDP clients expect to encounter unknown properties and content.7. LDP clients do not assume the type of a resource at the end of a link.
  • 20. © 2013 IBM CorporationLinked Data Platformhttp://example.orgLDP Resource – GET a simple exampleRemoved HTTP headers to save some space@prefix dcterms: <http://purl.org/dc/terms/>.@prefix ldp: <http://www.w3.org/ns/ldp#>.<http://example.org/container1/member1>a o:Cash;dcterms:title “ACME Bank savings account”;o:value 45.00.GET /container1/member1 HTTP/1.1Host: example.orgAccept: text/turtleRequestResponsecontainer1member1member2member3
  • 21. © 2013 IBM CorporationLinked Data PlatformLinked Data Platform Container (LDPC)Some rules:1. LDPCs are LDPRs2. Clients can retrieve the list of resource members of an LDPC using GET3. New resources are created using POST4. Any resource can be POSTed to an LDPC – not just LDPRs5. After POSTing a new resource to an LDPC, the new resource will appear as a member untilit is deleted.6. Clients can retrieve information about an LDPC without retrieving a full representation of itscontent, including its members.7. On deleting an LDPC the server MAY delete member resources.
  • 22. © 2013 IBM CorporationLinked Data Platformhttp://example.orgLDP Container – GET a simple exampleRemoved HTTP headers to save some space@prefix dcterms: <http://purl.org/dc/terms/>.@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix ldp: <http://www.w3.org/ns/ldp#>.<http://example.org/container1>  a ldp:Container;  dcterms:title "A very simple container";  rdfs:member<http://example.org/container1/member1>,<http://example.org/container1/member2>,<http://example.org/container1/member3>.GET /container1 HTTP/1.1Host: example.orgAccept: text/turtleRequestResponsecontainer1member1member2member3
  • 23. © 2013 IBM CorporationLinked Data PlatformLDP Container – Create resource and addHTTP/1.1 201 CREATEDContent-Location: http://example.org/container1/member4POST /container1 HTTP/1.1Host: example.orgContent-type: text/turtleContent-length: 324@prefix dcterms: <http://purl.org/dc/terms/>.@prefix o: <http://example.org/ontology/>.<>a o:Stock;dcterms:title “ACME Co.”;o:value 100.00.RequestResponsehttp://example.orgcontainer1member1member2member3+member4
  • 24. © 2013 IBM CorporationLinked Data PlatformLDP Container – Get updatedRemoved HTTP headers to save some space@prefix dcterms: <http://purl.org/dc/terms/>.@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix ldp: <http://www.w3.org/ns/ldp#>.<http://example.org/container1>  a ldp:Container;  dcterms:title "A very simple container";  rdfs:member<http://example.org/container1/member1>,<http://example.org/container1/member2>,<http://example.org/container1/member3>,<http://example.org/container1/member4>.GET /container1 HTTP/1.1Host: example.orgAccept: text/turtleRequestResponsehttp://example.orgcontainer1member1member2member3member4
  • 25. © 2013 IBM CorporationLinked Data PlatformLDP Container – Slightly more complex example# The following is the representation of# http://example.org/netWorth/nw1@prefix o: <http://example.org/ontology/>.@prefix dcterms: <http://purl.org/dc/terms/>.@prefix ldp: <http://www.w3.org/ns/ldp#>. <http://example.org/netWorth/nw1>a o:NetWorth;o:asset<http://example.org/netWorth/nw1/assetContainer/a1>,<http://example.org/netWorth/nw1/assetContainer/a2>. <http://example.org/netWorth/nw1/assetContainer>a ldp:Container;dcterms:title "The assets of JohnZSmith";ldp:membershipSubject <http://example.org/netWorth/nw1>;ldp:membershipPredicate o:asset.• Membership predicate is something other than rdfs:member (o:asset)• Subject for members is something other than the container
  • 26. © 2013 IBM CorporationLinked Data PlatformLDP Container – Inlined members# chopped @prefix<http://example.org/netWorth/nw1>a o:NetWorth;o:asset<http://example.org/netWorth/nw1/assetContainer/a1>,<http://example.org/netWorth/nw1/assetContainer/a2>.<http://example.org/netWorth/nw1/assetContainer>a ldp:Container;dcterms:title "The assets of JohnZSmith";ldp:membershipSubject <http://example.org/netWorth/nw1>;ldp:membershipPredicate o:asset.<http://example.org/netWorth/nw1/assetContainer/a1>a o:Stock;o:value 10000.<http://example.org/netWorth/nw1/assetContainer/a2>a o:Bond;o:value 20000.• Statements about the member resources included with container representation response• Note: how much is included is up to the server and application domain specific
  • 27. © 2013 IBM CorporationLinked Data PlatformLDP Container – Paging (first page)# Request-URI: http://example.org/netWorth/nw1?firstPage# omitted @prefix<http://example.org/netWorth/nw1>a o:NetWorth;o:asset<http://example.org/netWorth/nw1/assetContainer/a1>,<http://example.org/netWorth/nw1/assetContainer/a2>.<http://example.org/netWorth/nw1/assetContainer>a ldp:Container;dcterms:title "The assets of JohnZSmith";bp:membershipSubject <http://example.org/netWorth/nw1>;bp:membershipPredicate o:asset.<http://example.org/netWorth/nw1/assetContainer?firstPage>a ldp:Page;ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>;ldp:nextPage <http://example.org/netWorth/nw1/assetContainer?p=2>.<http://example.org/netWorth/nw1/assetContainer/a1>a o:Stock;o:value 100.00.<http://example.org/netWorth/nw1/assetContainer/a2>a o:Cash;o:value 50.00.• New ldp:Page resource• Members of containers are paged, not HTTP responses
  • 28. © 2013 IBM CorporationLinked Data PlatformLDP Container – Paging (last page)# Request-URI: http://example.org/netWorth/nw1/assetContainer?p=2# omitted @prefix<http://example.org/netWorth/nw1>a o:NetWorth;o:asset<http://example.org/netWorth/nw1/assetContainer/a3>.<http://example.org/netWorth/nw1/assetContainer>a bp:Container;dcterms:title "The assets of JohnZSmith";bp:membershipSubject <http://example.org/netWorth/nw1>;bp:membershipPredicate o:asset.<http://example.org/netWorth/nw1/assetContainer?p=2>a ldp:Page;ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>;ldp:nextPage rdf:nil.<http://example.org/netWorth/nw1/assetContainer/a5>a o:Stock;dcterms:title "Big Co.";o:value 200.02.• Last page indicated by rdf:nil
  • 29. © 2013 IBM CorporationLinked Data PlatformLDP Container – Paging (ordering)# Request-URI: http://example.org/netWorth/nw1/assetContainer?firstPage# omitted @prefix<http://example.org/netWorth/nw1>a o:NetWorth;o:asset<http://example.org/netWorth/nw1/assetContainer/a1>,<http://example.org/netWorth/nw1/assetContainer/a2>.<http://example.org/netWorth/nw1/assetContainer>a ldp:Container;dcterms:title "The assets of JohnZSmith";ldp:membershipSubject <http://example.org/netWorth/nw1>;ldp:membershipPredicate o:asset.<http://example.org/netWorth/nw1/assetContainer?firstPage>a ldp:Page;ldp:pageOf <http://example.org/netWorth/nw1/assetContainer>;ldp:containerSortPredicates (o:value).<http://example.org/netWorth/nw1/assetContainer/a1>a o:Stock;o:value 100.00.<http://example.org/netWorth/nw1/assetContainer/a2>a o:Cash;o:value 50.00.• Order indicated by ldp:containerSortPredicates• No ordinal predicate introduced, leverage domain model
  • 30. © 2013 IBM CorporationLinked Data PlatformLDP Working Group Activity Changes aim at making the specification:– More broadly applicable• Moved several restrictions to “Deployment Guide” - a set of best practices(e.g., datatypes, common properties)• Turtle is the default serialization format– More precise• Removed uncertainty (e.g., “MAY” → “MUST”)• Changed to be more explicit and less implicit Samples of issues being discussed:– Container• Do member resources get deleted when a Container is deleted?• How do I create a Container?• Can Containers be nested?• How do I find the first Container?– Paging of Resources, not just Containers?– Binary resources - How do I add a non-RDF resource to a Container?– PATCH - What format to use?
  • 31. © 2013 IBM CorporationLinked Data PlatformLooking ForwardLinked Data has the potential of becoming an important application integrationmodel in the enterprise but several necessary and desirable features are not inscope for LDP 1.0:■ Security – Authentication, Access control– WG is chartered to identify requirements and use cases– Several technologies can already be used: OAuth, WebId, etc. Validation/Constraints– RDFS and OWL are for inference not validation– There is currently no standard technology to perform validation Deployment challenges– URL changes– Server cloning– Cross-server query
  • 32. © 2013 IBM Corporation32Linked Data PlatformAgenda■ IBM Rationals ALM Integration Challenge■ Linked Data■ Applying Linked Data to ALM■ Challenges of using Linked Data■ W3C Linked Data Platform➢ Related Projects
  • 33. © 2013 IBM CorporationLinked Data PlatformLDP ImplementationsSDK and supporting tools to help the community toadopt OSLC specifications and build compliant toolsImplementation of LDP that can be extended anddeployed easily by organisations who want to publishdata or build custom applicationsMarmottaFor a more complete list see:http://www.w3.org/wiki/LDP_ImplementationsSeveral implementations are already available:
  • 34. © 2013 IBM CorporationLinked Data PlatformAutomationMonitoring Community driven and governed 400+ registered community members Workgroup members from 34+ organizations Wide range of interests, expertise, & participation Open specifications for numerous disciplines Defined by scenarios – solution oriented Implementations from IBM, BPs, and Others Based on Linked DataOpen Services for Lifecycle CollaborationLifecycle integration inspired by the webInspired by the webProvenFree to use and shareOpenChanging the industryInnovativeOpen Services for Lifecycle Collaboration (OSLC)Working to improve the way software lifecycle tools share dataopen-services.netNEWS: Technical Work moving to OASIS - Look for a new OASIS Member Section!
  • 35. © 2013 IBM CorporationLinked Data Platform
  • 36. © 2013 IBM CorporationLinked Data Platform• Based on parts ofOSLC Core• Foundation for futureOSLC CoreSpecificationsOSLC’s Big PictureOpen Services for Lifecycle CollaborationLifecycle integration inspired by the webLINKED DATA PLATFORM WORKING GROUPFuture Home ofOSLC Spec DevThe Resourcefor OSLCImplementersInspired by the webProvenFree to use and shareOpenChanging the industryInnovativeOSLC:Tests, Libraries, Samples, Examples,Reference ImplementationsScenario-driven &Solution-orientedGenerally applicable: specs available for manydomains covering ALM, DevOps, ISM, andPLMLeading choice forstrategic integrationtechnology36