The ASF actively participates in the W3C Working Group helping to define the standard, and also providing an early implementation.
WARNING: Changing LDPRs through other channels than the LDP Server (e.g. SPARQL UPDATE) may cause an inconsistent and corrupt resource state. In its current implementation, LDP is designed as exclusive (write-)access method for LDPRs and LDPCs.
Temporally available under /ldp namespace, until we clarify how the current raw Linked Data resource management would live together with LDP, here some examples how to use it:
The LDP root container (located at /ldp) is created automatically. You can add new resources using the following command:
curl -i -X POST -d @test.ttl -H "Content-Type: text/turtle" -H "Slug: test" http://localhost:8080/ldp/container1 curl -i -H "Accept: text/turtle" http://localhost:8080/ldp/container1/test
where test.ttl contains the LDP-RS you want to add to the /container1 container.
By default, all created LDP-RSs are created using the LDPC interaction model, which means that they also act as LDPC. If you want to create a resource using the LDPR interaction model you need to explicitly say so in the POST request:
curl -i -X POST -d @test.ttl -H "Content-Type: text/turtle" -H "Slug: resource" \ -H 'Link: <http://www.w3.org/ns/ldp#Resource>; rel="type"' \ http://localhost:8080/ldp/container1 curl -i -H "Accept: text/turtle" http://localhost:8080/ldp/container1/resource
Resources created with the LDPR interaction model cannot be used as container and therefore do not accept POST requests.
curl -i -X POST --data-binary @test.png -H "Content-Type: image/png" -H "Slug: test" http://localhost:8080/ldp/container2 curl -i http://localhost:8080/ldp/container2/test curl -i -H "Accept: text/turtle" http://localhost:8080/ldp/container2/test.png curl -i -H "Accept: image/png" http://localhost:8080/ldp/container2/test.png
where test.png is the LDP-NR you want to add to the /container2 container.
LDP-NRs are always created using the LDPR interaction model.