- From: Cody Burleson <cody.burleson@base22.com>
- Date: Sun, 14 Jul 2013 15:17:47 -0500
- To: Linked Data Platform WG <public-ldp-wg@w3.org>
- Message-ID: <CAJM-RdqeP68gO8uC6yZTb9fjn7r7JpAY2RujQY_-cpF-prpvBQ@mail.gmail.com>
Team, Could you please consider reviewing the new section in the LDP Best Practices and Guidelines on "Use Relative URIs" and let me know if you have any issues with how I have interpreted the original notes from the wiki Deployment Guide, which WERE as follows: * OLD TEXT* See ldp-ISSUE-29 <http://www.w3.org/2012/ldp/track/issues/29> (Relative URIs): Relative URIs are - crucial in creation of resources as the client cannot know what the name of the to be created resource is going to be - relative URIs are helpful on the server: - they allow editing of information on the file system to closely match the results from the web server. This makes it possible to debug without needing the server to be running - mappings from OO or SQL to RDF need not be encumbered with information about the name of the server, which may only be available at a much later point. *NEW TEXT* (Note: I'm not sure if my copy/paste job will come out well in all email clients; you can review this section in the editor's draft here: https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html#use-relative-uris ) Relative URIs are useful to the Linked Data Platform in much the same ways that relative URLs [RFC1808<https://dvcs.w3.org/hg/ldpwg/raw-file/default/ldp-bp/ldp-bp.html#bib-RFC1808>] have been useful to traditional web systems. Since the things referred to by Linked Data URIs should ideally provide a retrievable representation, Linked Data URIs are usually also URLs; they locate rather than just identify. As such, the utilitarian value of relative URLs still applies; especially since the Container model of the LDP promotes hierarchical representations. Implementers should therefore align the function of relative URIs in LDP with those of traditional relative URLs where possible and appropriate. Aside from giving developers the comfort and convenience of familiarity, they provide many of the same advantages. *Relative URIs are shorter than absolute URIs.* In many cases, this can aid development by making code and RDF easier for humans to read. It can also reduce the size of payloads, which in turn, can reduce network traffic and stress on servers, while improving response times for end-users. Example 2: Turtle RDF representation of http://example.org/container1/ with absolute URIs @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>. ]] Example 3: Turtle RDF representation of http://example.org/container1/ with relative URIs @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#>. <> a ldp:Container; dcterms:title "A very simple container"; rdfs:member <member1>, <member2>, <member3> . ]] *Relative URIs can make resources more portable.*When information which is already known from the context of the base resource's retrieval is ommited, there can be less information to modify when that information changes. This can make moving resources to new servers or to a new position in a containment hierarchy easier.*Relative URIs are convenient during development.*During development the scheme and network location information in a URI may either be unkown or likely to change. The commonly used 'localhost' for example, is better expressed by the server name or a domain name. Developers often experience less hassle by ommiting this information. Additionally, the hierarchy implied by a relative URI may be mimicked in a server file system, which can help developers find and work with information, even the server isn't running.*Relative URIs are convenient during development.*During development the scheme and network location information in a URI may either be unkown or likely to change. The commonly used 'localhost' for example, is better expressed by the server name or a domain name. Developers often experience less hassle by ommiting this information.*Relative URIs support arbitrary, machine-generated URIs.*RESTful URLs are often defined by a pattern of hierarchical 'collections', which clients interact with in very logical ways. For example, when creating a new resource the client does not typically know the name of the resource until after a successful POST to a collection's URL. A POST to /people/ for example, may create the resource /people/1. LDP Containers are such collections whose URIs can benefit from the same model, which in some implementations, may actually be crucial. Note that I changed the URI for the container from <http://example.org/container1> to <http://example.org/container1/> ...as I believe that we may also note that as a guideline, given Henry's example found here: http://lists.w3.org/Archives/Public/public-ldp-wg/2013Jan/0071.html -- Cody Burleson Enterprise Web Architect, Base22 Mobile: +1 (214) 537-8782 Skype: codyburleson Email: cody@base22.com Blog: codyburleson.com * <http://base22.com>* * * *Check my free/busy time.<http://www.google.com/calendar/embed?src=cody.burleson%40base22.com&ctz=America/Chicago%20> *
Attachments
- image/gif attachment: base22.gif
Received on Sunday, 14 July 2013 20:18:35 UTC