Más contenido relacionado
La actualidad más candente (20)
Similar a WWW2014 Overview of W3C Linked Data Platform 20140410 (20)
Más de Arnaud Le Hors (15)
WWW2014 Overview of W3C Linked Data Platform 20140410
- 1. © 2014 IBM Corporation
W3C Linked Data Platform
Arnaud J Le Hors, IBM Linked Data Standards Lead
lehors@us.ibm.com
Linked Data Platform
10 April 2014
- 2. © 2014 IBM Corporation2
Linked Data Platform
Agenda
➢ Linked Data
■ Using Linked Data for Application Integration
■ Challenges of using Linked Data for Application Integration
■ W3C Linked Data Platform
■ Related Projects
- 3. © 2014 IBM Corporation
Linked Data Platform
Linked Data – Defined by Tim Berners-Lee
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.
He concludes this with: “Simple.”
Reference: “Linked Data”, Tim Berners-Lee, 2006-07-27
- 4. © 2014 IBM Corporation4 April 10, 2014
Linked Data Platform
Linked Data and the Web
Linked Data is a natural extension of the web of documents:
Web of Documents Linked Data
Standard Global
Identifier+Locator
Pages are identified by a URL
which can also be used to
locate the page
Pieces of data are identified by a
URL which can also be used to
locate the data
Standard Access
Protocol
Pages are accessed via HTTP Data is accessed via HTTP
Standard
Representation
Pages are served in a standard
format: HTML
Data is served in a standard
representation: RDF
Standard way of
linking related items
Related pages are linked to one
another using their URLs
Related pieces of data are linked
to one another using their URLs
- 5. © 2014 IBM Corporation
Linked Data Platform
Not 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 scan
of 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 identify
things, 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 good
linked data, I have developed this star rating system”
- 6. © 2014 IBM Corporation6
Linked Data Platform
Agenda
■ Linked Data
➢ Using Linked Data for Application Integration
■ Challenges of using Linked Data for Application Integration
■ W3C Linked Data Platform
■ Related Projects
- 7. © 2014 IBM Corporation
Linked Data Platform
Software
Configuration
Management
Software
Configuration
Management
Work-item & defect
tracking (aka Change
Management)
Work-item & defect
tracking (aka Change
Management)
Build automation
& management
Build automation
& management
Test automation
& management
Test automation
& management
Requirements
management
Requirements
management
IBM Rational's use of Linked Data for Application Integration
7
Integrate with data & open protocols instead of glue code
“If the entire Web can connect like this, why wouldn't 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 RDF
that can be linked to each other
Tools simply access the resources via HTTP following the Linked Data principles
- 8. © 2014 IBM Corporation
Linked Data Platform
Applying Linked Data to ALM – A development tools example
TestCase 14 is blocked by Issue 973
http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973
- 9. © 2014 IBM Corporation
Linked Data Platform
Applying Linked Data to ALM – A development tools example
TestCase 14 is blocked by Issue 973
http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973
Issue 973 depends on Bug 318
http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318
Issue 973 is owned by Joe
http://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.me
- 10. © 2014 IBM Corporation
Linked Data Platform
Applying Linked Data to ALM – A development tools example
TestCase 14 is blocked by Issue 973
http://srv/qm/tc/14 qm:blockedBy http://apache.org/jira/HTTPCLIENT-973
Issue 973 depends on Bug 318
http://apache.org/jira/HTTPCLIENT-973 cm:dependsOn http://bugs.sun.com/? id=7172318
Issue 973 is owned by Joe
http://apache.org/jira/HTTPCLIENT-973 dc:contributor http://joecoder.me
Joe is a committer for Apache
http://joecoder.me doap:committer http://apache.org
- 11. © 2014 IBM Corporation11
Linked Data Platform
Agenda
■ Linked Data
■ Using Linked Data for Application Integration
➢ Challenges of using Linked Data for Application Integration
■ W3C Linked Data Platform
■ Related Projects
- 12. © 2014 IBM Corporation12
Linked Data Platform
Challenges of using Linked Data for Application Integration
■ No formal definition
■ State of the art is primarily about publishing read-only data on the web, downloaded and
updated as large dumps or via a SPARQL entry point
■ Tim Berners-Lee's 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 resources get big, how do I split the information into pages?
– How do I specify ordering?
- 13. © 2014 IBM Corporation13
Linked Data Platform
Agenda
■ Linked Data
■ Using Linked Data for Application Integration
■ Challenges of using Linked Data for Application Integration
➢ W3C Linked Data Platform
■ Related Projects
- 14. © 2014 IBM Corporation
Linked Data Platform
W3C 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 W3C
Recommendation
– 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 software
development.
Chartered to deliver a W3C Recommendation in 1H2014
Details @ http://www.w3.org/2012/ldp
- 15. © 2014 IBM Corporation15
Linked Data Platform
Linked Data Platform (LDP)
■ A set of rules that clarify and extends Tim Berners-Lee's four basic rules focusing on the
following two concepts:
– LDP Resources (LDPR)
– HTTP and RDF techniques to use to read and write linked data
– LDP Containers (LDPC)
– An LDPR to which you POST to create new things, GET to find existing things
– Similar to what AtomPub does for XML
- 16. © 2014 IBM Corporation
Linked Data Platform
Linked Data Platform Resource (LDPR)
Different types:
Some general rules:
1. LDPRs are HTTP resources that can be created, modified, deleted and read using standard
HTTP 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 (etags).
This is little more than what HTTP already defines.
- 17. © 2014 IBM Corporation
Linked Data Platform
Linked Data Platform Container (LDPC)
Different types:
Some general rules:
1. LDPCs are LDPRs
2. Clients can retrieve the list of resource members of an LDPC using GET
3. New resources are created by POSTing to an LDPC
4. Any resource can be POSTed to an LDPC – not just LDPRs (i.e., LDP-NR and LDPCs)
5. After POSTing a new resource to an LDPC, the new resource will appear as a member until
it is deleted.
6. Clients can retrieve information about an LDPC without retrieving a full representation of its
content, including its members.
7. On deleting an LDPC the server MAY delete member resources.
- 18. © 2014 IBM Corporation
Linked Data Platform
http://example.org
LDP BasicContainer – GET lists existing resources
Removed 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:BasicContainer;
dcterms:title "A very simple container";
ldp:contains
<http://example.org/container1/member1>,
<http://example.org/container1/member2>,
<http://example.org/container1/member3>.
GET /container1 HTTP/1.1
Host: example.org
Accept: text/turtle
RequestResponse
container1
member1
member2
member3
- 19. © 2014 IBM Corporation
Linked Data Platform
LDP BasicContainer – POST creates a new resource
HTTP/1.1 201 CREATED
Content-Location: http://example.org/container1/member4
POST /container1 HTTP/1.1
Host: example.org
Content-type: text/turtle
Content-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.
RequestResponse
http://example.org
container1
member1
member2
member3
+member4
- 20. © 2014 IBM Corporation
Linked Data Platform
LDP BasicContainer – GET returns updated list
Removed 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:BasicContainer;
dcterms:title "A very simple container";
ldp:contains
<http://example.org/container1/member1>,
<http://example.org/container1/member2>,
<http://example.org/container1/member3>,
<http://example.org/container1/member4>.
GET /container1 HTTP/1.1
Host: example.org
Accept: text/turtle
RequestResponse
http://example.org
container1
member1
member2
member3
member4
- 21. © 2014 IBM Corporation
Linked Data Platform
LDP DirectContainer – Slightly more complex example
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>.
• Members are associated with a resource other than the container
• Membership predicate is domain specific
• Relationship can take two different forms:
• <membershipResource> <ldp:hasMemberRelation> <member>
• <member> <ldp:isMemberOfRelation> <membershipResource>
<http://example.org/netWorth/nw1/assetContainer>
a ldp:DirectContainer;
dcterms:title "The assets of JohnZSmith";
ldp:membershipResource <http://example.org/netWorth/nw1>;
ldp:hasMemberRelation o:asset.
- 22. © 2014 IBM Corporation
Linked Data Platform
LDP DirectContainer (continue)
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:asset
<http://example.org/netWorth/nw1/assetContainer/a1>,
<http://example.org/netWorth/nw1/assetContainer/a2>,
o:liability
<http://example.org/netWorth/nw1/liabilityContainer/l1>.
• Several containers can be defined around the same resource (e.g., assets, liabilities)
<http://example.org/netWorth/nw1/assetContainer>
a ldp:DirectContainer;
dcterms:title "The assets of JohnZSmith";
ldp:membershipResource <http://example.org/netWorth/nw1>;
ldp:hasMemberRelation o:asset.
<http://example.org/netWorth/nw1/liabilityContainer>
a ldp:DirectContainer;
dcterms:title "The liabilities of JohnZSmith";
ldp:membershipResource <http://example.org/netWorth/nw1>;
ldp:hasMemberRelation o:liability.
- 23. © 2014 IBM Corporation
Linked Data Platform
LDP IndirectContainer – More complex example
<http://example.org/netWorth/nw1>
a o:NetWorth;
o:advisor
<advisorContainer/bob#me>,
<advisorContainer/marsha#me>.
• Supports listing non-information resource as members
<http://example.org/advisors/>
a ldp:IndirectContainer;
dcterms:title "The asset advisors of JohnZSmith";
ldp:membershipResource <http://example.org/netWorth/nw1>;
ldp:hasMemberRelation o:advisor;
ldp:insertedContentRelation foaf:primaryTopic;
ldp:contains
<advisorContainer/bob>,
<advisorContainer/marsha>.
<http://example.org/advisorContainer/bob>
foaf:primaryTopic #me.
#me a foaf:Person,
foaf:name "Bob Marlow".
- 24. © 2014 IBM Corporation
Linked Data Platform
LDP Non-RDF Sources a.k.a “Binary Resources”
HTTP/1.1 201 CREATED
Content-Location: http://example.org/attachments/myimage
Link: <http://example.org/mycontainer/myimage-info>;
rel=describedby
POST /attachments/ HTTP/1.1
Host: example.org
Content-type: image/png
Content-length: 1048
Slug: myimage
[binary content not displayed]
RequestResponse
Created by POSTing to a Container
As a result the server may create two resources:
– An LDP Non-RDF Source that is added as a member
– An LDP RDF Source that describes the LDP-NR
http://example.org
attachments
member1
member2
member3
+myimage
- 25. © 2014 IBM Corporation
Linked Data Platform
LDP Status update
Published First Last Call Working Draft on 30 July 2013
Received several comments that required changes:
– Did not provide enough interoperability, especially for “vanilla clients”
• Too many SHOULDs, not enough MUSTs
• Silent failure is a big NO NO: e.g., servers may discard triples sent by client
– Paging mechanism to be moved to HTTP layer
Published Second Last Call Working Draft on 11 March 2014
– A lot more MUSTs
– Three types of containers
– Differentiates containment from membership
– Moved paging and ordering out
– Replaced non-member properties with use of Prefer header
– Added support for interaction models
Review period ended on April 2 with a few minor comments
Candidate Recommendation expected by the end of the April
Proposed Recommendation in June
- 26. © 2014 IBM Corporation
Linked Data Platform
LDP Status update (continue)
Other deliverables in the works:
– Use Cases & Requirements (WG Note – updated on 13 March 2014)
– Paging & Ordering (Working Draft)
– Primer (WG Note)
– Best Practices & Guidelines (WG Note)
– Access Control Use cases & requirements (WG Note)
- 27. © 2014 IBM Corporation
Linked Data Platform
Looking Forward
Linked Data has the potential of becoming an important application integration
model in the enterprise but several necessary and desirable features are not in
scope 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
• Discussions to launch a new effort at W3C are underway.
Deployment challenges
– URL changes
– Server cloning
– Cross-server query
- 28. © 2014 IBM Corporation28
Linked Data Platform
Agenda
■ Linked Data
■ Using Linked Data for Application Integration
■ Challenges of using Linked Data for Application Integration
■ W3C Linked Data Platform
➢ Related Projects
- 29. © 2014 IBM Corporation
Linked Data Platform
LDP Implementations
SDK and supporting tools to help the community to
adopt OSLC specifications and build compliant tools
Implementation of LDP that can be extended and
deployed easily by organizations who want to publish
data or build custom applications
Marmotta
For a more complete list see:
http://www.w3.org/wiki/LDP_Implementations
Several implementations are already available:
- 30. © 2014 IBM Corporation
Linked Data Platform
Automation
Monitoring
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 Data
Open Services for Lifecycle Collaboration
Lifecycle integration inspired by the web
Inspired by the web
Proven
Free to use and share
Open
Changing the industry
Innovative
Open Services for Lifecycle Collaboration (OSLC)
Working to improve the way software lifecycle tools share data
open-services.net
For more info see: http://open-services.net