- From: Steve Battle <steve.battle@sysemia.co.uk>
- Date: Wed, 10 Oct 2012 15:10:28 +0100
- To: <semantic-web@w3.org>
- Cc: <public-ldp-wg@w3.org>
- Message-ID: <002101cda6f1$017582e0$046088a0$@sysemia.co.uk>
The Linked Data Platform http://www.w3.org/2012/ldp working group has a use case to be able to create an resource within an container (with both the resource and the container described in RDF) <1.3.8 UC-BPC2: Create resource within a container <http://www.w3.org/2012/ldp/wiki/Use_Cases_And_Requirements#UC-BPC2:_Create_ resource_within_a_container> >. The intention is to HTTP POST an RDF representation, including the subordinate resource, to the container URI. The issue boils down to 'what is the base URI of a POSTed document.?' Consider the following cases (assuming @base is not embedded in the content): A) The base URI is the notional base of the communicated RDF document: In Turtle, URIs in angle brackets may be base relative URIs, so '<>' is the base URI itself. <> a foaf:PersonalProfileDocument; foaf:primaryTopic <#me> . B) The base URI is the request URI used in the POST (the container URI): This approach requires the container to Skolemize the anonymous resource (See <http://www.w3.org/wiki/BnodeSkolemization>). <> rdfs:member [ a helios_bt:BugtrackerIssue; dc:identifier "58365" ] I would have used the same example, but since (in this interpretation) the URI of the resource isn't known until it is created, we would have to make assertions about #me in a separate step. Of course, in this case, the use of the document base '<>' is optional; the URI of the container is known at the time of the request. But this doesn't really answer the question. The Relevant Standard: RFC 3986: Uniform Resource Identifier (URI): Generic Syntax 5.1. Establishing a Base URI: The base URI of a reference can be established in one of four ways: 1. Base URI embedded in Content. 2. Base URI of the encapsulating entity. "If no base URI is embedded, the base URI of a document is defined by the document's retrieval context." 3. URI used to retrieve the entity. "if a URI was used to retrieve the base document, that URI shall be considered the base URI." 4. Default Base URI (application-dependent) However, as a POSTed resource has no real retrieval context it appears to drop right through levels 2 and 3, leaving us with an application dependent choice. In a linked data context one might then ask , "if a URI _were-_ used to retrieve the base document, that URI shall be considered the base URI." In that case (A) is the most natural solution. -- Steve Battle Semantic Engineer Mobile: +44 (0)7503 624 613 E-mail: <mailto:steve.battle@sysemia.co.uk> steve.battle@sysemia.co.uk Web: <http://www.sysemia.com/> www.sysemia.com Sysemia Limited The Innovation Centre, Bristol & Bath Science Park, Dirac Crescent, Emerson's Green, Bristol BS16 7FR Registered in England and Wales. Company Number: 7555456 DISCLAIMER Information contained in this e-mail is intended for the use of the addressee only, and is confidential and may also be privileged. If you receive this message in error, please advise us immediately. If you are not the intended recipient(s), please note that any form of distribution, copying or use of this communication or the information in it is strictly prohibited and may be unlawful. Attachments to this e-mail may contain software viruses which may damage your systems. Sysemia Ltd have taken reasonable steps to minimise this risk, but we advise that any attachments are virus checked before they are opened.
Received on Wednesday, 10 October 2012 14:11:07 UTC