Not logged in : Login
(Sponging disallowed)

About: VirtLDP     Goto   Sponge   NotDistinct   Permalink

An Entity of Type : atom:Entry, within Data Space : www.openlinksw.com associated with source document(s)
QRcode icon
http://www.openlinksw.com/describe/?url=http%3A%2F%2Fwww.openlinksw.com%2Fdataspace%2Fdav%2Fwiki%2FMain%2FVirtLDP

AttributesValues
has container
Date Created
maker
topic
described by
seeAlso
Date Modified
link
id
  • 33759043e62880a46412ace114984cfc
content
  • %META:TOPICPARENT{name="VOSIndex"}% ---+ Using Virtuoso as LDP Client and Server %TOC% ---++ What is the Linked Data Platform (LDP)? Using HTTP to Create, Read, Update, and Delete Linked Data Resources and Containers raises a number of questions. * Resources * What resource formats should be used? * How is optimistic collision detection handled for updates? * What should client expectations be for changes to linked-to resources, such as type changes? * What can servers do to ease the burden of constraints for resource creation? * Containers * To which URLs can I POST, to create new resources? * Where can I GET a list of existing resources? * How is the order of the container entries expressed? * How do I get information about the members along with the container? * How do I GET the entries of a large container broken up into pages? * How can I ensure the resource data is easy to query? The [[http://www.w3.org/TR/ldp/][Linked Data Platform (LDP)]] was developed by W3C members to answer many of these questions. ---++ Why is the LDP important? It simplifies Linked Data deployment and use by standardizing the representation and behavior of, and the generation and processing of HTTP requests regarding, [[http://www.w3.org/TR/ldp/#linked-data-platform-resources][Linked Data Platform Resources]] (LDPRs) and [[http://www.w3.org/TR/ldp/#linked-data-platform-containers][Linked Data Platform Containers]] (LDPCs). Using the Linked Data Platform thereby increases availability and accessibility of Linked Data on the Web. --++ How to use Virtuoso's LDP features Virtuoso's LDP functionality is a built-in, integral part of the product. Virtuoso operates as an LDP Client, generating HTTP requests and processing HTTP responses that conform to the rules defined for LDPRs and LDPCs, when it is operating against LDP Servers. Virtuoso also operates as an LDP Server, by processing HTTP requests and generating HTTP responses that conform to the rules defined for LDPRs and LDPCs. The following examples use the commandline utility curl to demonstrate Virtuoso's LDP Server implementation. ---+++ Example 1: Create and verify a simple LDPR 1 Write a bit of text ("This content is not Turtle." in this example) to a text file ("test2.txt") in DAV. % curl --verbose -iX PUT -H "Content-Type: text/plain" -u dav:dav -d 'This content is not Turtle.' "http://example.com/DAV/test2.txt" > ldp/ldp1.log 1 The server's response should resemble this -- HTTP/1.1 201 Created Server: Virtuoso/06.04.3137 (Linux) x86_64-unknown-linux-gnu VDB Connection: close Date: Fri, 26 Jul 2013 11:59:52 GMT Accept-Ranges: bytes Content-Type: text/plain Link: <>;rel= Content-Length: 172 201 Created

    Created

    Resource /DAV/test2.txt has been created.
    1 Confirm that the server took the submission as LDP data -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/test2.txt > ldp/ldp2.log 1 The server should return a "text/turtle" LDP response similar to this -- HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; charset=UTF-8 Content-Length: 472 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a dcterms:PhysicalResource ; dcterms:title "test2.txt" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 03:04:04" ; dcterms:modified "2013-06-17 03:04:04" ; rdfs:label "test2.txt" . ---+++ Example 2: Access Resources in an LDPC (e.g., a DAV folder) 1 Request all LDP data for an LDPC, such as the DAV root folder, to be returned as Turtle -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/ > ldp/ldp3.log 1 The server should return text/turtle of LDP data describing all Resources (both LDPRs and non LDPRs) inside the container, similar to this -- HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; chartset=UTF-8 Content-Length: 621 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a ldp:Container ; dcterms:title "DAV" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 01:18:23" ; dcterms:modified "2013-06-17 01:18:23" ; ldp:membershipPredicate rdfs:member ; rdfs:member ; rdfs:member ; rdfs:member ; rdfs:label "DAV" . ---+++ Example 3: Access non-LDP Resources in an LDPC (e.g., DAV folder) 1 Request that all non-member-properties LDP data for an LDPC, such as the DAV root folder, be returned as Turtle -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/?non-member-properties > ldp/ldp4.log 1 The server should return text/turtle containing LDP data that describes any non-LDP Resources (that is, any Resources which are not LDPRs) inside the container: HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; chartset=UTF-8 Content-Length: 477 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a ldp:Container ; dcterms:title "DAV" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 01:18:23" ; dcterms:modified "2013-06-17 01:18:23" ; ldp:membershipPredicate rdfs:member ; rdfs:label "DAV" . ---+++ Example 4: Create an LDPR from an existing text file containing Turtle data 1 Suppose you have a file named ldp-books.ttl, in a folder named temp, with the following Turtle content -- @prefix : . @prefix ns: . :book1 "LDP Tutorial" ; ns:price 42 ; ns:discount 0.2 . :book2 "The Semantic Web" ; ns:price 23 ; ns:discount 0.25 . 1 Upload the file to DAV -- % curl --verbose -iX PUT -d @temp/ldp-books.ttl -u dav:dav -H 'Content-Type: text/turtle' http://example.com/DAV/test4.ttl > ldp/ldp5.log 1 The server's response should resemble the following -- HTTP/1.1 201 Created Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: close Date: Sun, 16 Jun 2013 21:04:05 GMT Accept-Ranges: bytes Content-Type: text/turtle Link: <>;rel= Content-Length: 172 201 Created

    Created

    Resource /DAV/test4.ttl has been created.
    ---++ Related * [[http://www.w3.org/TR/ldp/][Linked Data Platform 1.0]] * [[VirtGraphProtocolCURLExamples][SPARQL 1.1. Graph Store HTTP Protocol cURL Examples Collection]] * [[VirtGraphUpdateProtocol][Manage RDF data by using SPARQL 1.1. Graph Store HTTP Protocol]]
  • %META:TOPICPARENT{name="VOSIndex"}% ---+ Using Virtuoso as LDP Client and Server %TOC% ---++ What is the Linked Data Platform (LDP)? Using HTTP to Create, Read, Update, and Delete Linked Data Resources and Containers raises a number of questions. * Resources * What resource formats should be used? * How is optimistic collision detection handled for updates? * What should client expectations be for changes to linked-to resources, such as type changes? * What can servers do to ease the burden of constraints for resource creation? * Containers * To which URLs can I POST, to create new resources? * Where can I GET a list of existing resources? * How is the order of the container entries expressed? * How do I get information about the members along with the container? * How do I GET the entries of a large container broken up into pages? * How can I ensure the resource data is easy to query? The [[http://www.w3.org/TR/ldp/][Linked Data Platform (LDP)]] was developed by W3C members to answer many of these questions. ---++ Why is the LDP important? It simplifies Linked Data deployment and use by standardizing the representation and behavior of, and the generation and processing of HTTP requests regarding, [[http://www.w3.org/TR/ldp/#linked-data-platform-resources][Linked Data Platform Resources]] (LDPRs) and [[http://www.w3.org/TR/ldp/#linked-data-platform-containers][Linked Data Platform Containers]] (LDPCs). Using the Linked Data Platform thereby increases availability and accessibility of Linked Data on the Web. --++ How to use Virtuoso's LDP features Virtuoso's LDP functionality is a built-in, integral part of the product. Virtuoso operates as an LDP Client, generating HTTP requests and processing HTTP responses that conform to the rules defined for LDPRs and LDPCs, when it is operating against LDP Servers. Virtuoso also operates as an LDP Server, by processing HTTP requests and generating HTTP responses that conform to the rules defined for LDPRs and LDPCs. The following examples use the commandline utility curl to demonstrate Virtuoso's LDP Server implementation. ---+++ Example 1: Create and verify a simple LDPR 1 Write a bit of text ("This content is not Turtle." in this example) to a text file ("test2.txt") in DAV. % curl --verbose -iX PUT -H "Content-Type: text/plain" -u dav:dav -d 'This content is not Turtle.' "http://example.com/DAV/test2.txt" > ldp/ldp1.log 1 The server's response should resemble this -- HTTP/1.1 201 Created Server: Virtuoso/06.04.3137 (Linux) x86_64-unknown-linux-gnu VDB Connection: close Date: Fri, 26 Jul 2013 11:59:52 GMT Accept-Ranges: bytes Content-Type: text/plain Link: <>;rel= Content-Length: 172 201 Created

    Created

    Resource /DAV/test2.txt has been created.
    1 Confirm that the server took the submission as LDP data -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/test2.txt > ldp/ldp2.log 1 The server should return a "text/turtle" LDP response similar to this -- HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; charset=UTF-8 Content-Length: 472 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a dcterms:PhysicalResource ; dcterms:title "test2.txt" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 03:04:04" ; dcterms:modified "2013-06-17 03:04:04" ; rdfs:label "test2.txt" . ---+++ Example 2: Access Resources in an LDPC (e.g., a DAV folder) 1 Request all LDP data for an LDPC, such as the DAV root folder, to be returned as Turtle -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/ > ldp/ldp3.log 1 The server should return text/turtle of LDP data describing all Resources (both LDPRs and non LDPRs) inside the container, similar to this -- HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; chartset=UTF-8 Content-Length: 621 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a ldp:Container ; dcterms:title "DAV" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 01:18:23" ; dcterms:modified "2013-06-17 01:18:23" ; ldp:membershipPredicate rdfs:member ; rdfs:member ; rdfs:member ; rdfs:member ; rdfs:label "DAV" . ---+++ Example 3: Access non-LDP Resources in an LDPC (e.g., DAV folder) 1 Request that all non-member-properties LDP data for an LDPC, such as the DAV root folder, be returned as Turtle -- % curl --verbose -iH "Accept: text/turtle, */*;q=0.1" -u dav:dav http://example.com/DAV/?non-member-properties > ldp/ldp4.log 1 The server should return text/turtle containing LDP data that describes any non-LDP Resources (that is, any Resources which are not LDPRs) inside the container: HTTP/1.1 200 OK Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: Keep-Alive Date: Sun, 16 Jun 2013 21:04:04 GMT Accept-Ranges: bytes Content-Type: text/turtle; chartset=UTF-8 Content-Length: 477 @prefix dcterms: . @prefix rdf: . @prefix rdfs: . @prefix ldp: . @prefix xsd: . a ldp:Container ; dcterms:title "DAV" ; dcterms:creator "dav" ; dcterms:created "2013-06-17 01:18:23" ; dcterms:modified "2013-06-17 01:18:23" ; ldp:membershipPredicate rdfs:member ; rdfs:label "DAV" . ---+++ Example 4: Create an LDPR from an existing text file containing Turtle data 1 Suppose you have a file named ldp-books.ttl, in a folder named temp, with the following Turtle content -- @prefix : . @prefix ns: . :book1 "LDP Tutorial" ; ns:price 42 ; ns:discount 0.2 . :book2 "The Semantic Web" ; ns:price 23 ; ns:discount 0.25 . 1 Upload the file to DAV -- % curl --verbose -iX PUT -d @temp/ldp-books.ttl -u dav:dav -H 'Content-Type: text/turtle' http://example.com/DAV/test4.ttl > ldp/ldp5.log 1 The server's response should resemble the following -- HTTP/1.1 201 Created Server: Virtuoso/06.04.3136 (Win64) x86_64-generic-win-64 VDB Connection: close Date: Sun, 16 Jun 2013 21:04:05 GMT Accept-Ranges: bytes Content-Type: text/turtle Link: <>;rel= Content-Length: 172 201 Created

    Created

    Resource /DAV/test4.ttl has been created.
    ---++ Related * [[http://www.w3.org/TR/ldp/][Linked Data Platform 1.0]] * [[VirtGraphProtocolCURLExamples][SPARQL 1.1. Graph Store HTTP Protocol cURL Examples Collection]] * [[VirtGraphUpdateProtocol][Manage RDF data by using SPARQL 1.1. Graph Store HTTP Protocol]] * [[VirtRWWInteractionACLcURL][RWW Interaction & ACL Testing using cURL]] * [[VirtuosoLDPSimpleCurlExamples][LDP in Virtuoso - Simple Curl Examples]]
Title
  • VirtLDP
has creator
is described using
atom:source
atom:updated
  • 2013-07-30T15:04:17Z
  • 2014-08-21T19:38:15Z
atom:title
  • VirtLDP
links to
atom:author
label
  • VirtLDP
topic
atom:published
  • 2013-06-16T21:17:48Z
type
is topic of
Faceted Search & Find service v1.17_git122 as of Jan 03 2023


Alternative Linked Data Documents: iSPARQL | ODE     Content Formats:   [cxml] [csv]     RDF   [text] [turtle] [ld+json] [rdf+json] [rdf+xml]     ODATA   [atom+xml] [odata+json]     Microdata   [microdata+json] [html]    About   
This material is Open Knowledge   W3C Semantic Web Technology [RDF Data] Valid XHTML + RDFa
OpenLink Virtuoso version 08.03.3330 as of Apr 5 2024, on Linux (x86_64-generic-linux-glibc25), Single-Server Edition (30 GB total memory, 26 GB memory in use)
Data on this page belongs to its respective rights holders.
Virtuoso Faceted Browser Copyright © 2009-2024 OpenLink Software