Re: Trying to close ISSUE-14

On Tue, Apr 2, 2013 at 4:50 AM, Raúl García Castro <rgarcia@fi.upm.es> wrote:
> Dear all,
>
> This is an intent to close ISSUE-14 with a concrete proposal.
>
> Focusing on how servers expose the sort order of a response, a server should
> allow a client to know:
> .- According to which properties are the members sorted
> .- For each property, the ascending or descending ordering
>
> I can see scenarios where multiple properties and multiple ordering are
> used; e.g., I want to sort bugs according to their creation date
> (descending) and their priority (ascending).
>
> The concrete proposal is the following:
>
> An LDPC server can indicate to a client the ordering of members in a
> container page using an ldp:containerOrder property. This property has as
> range a list of resources with two properties:
> .- ldp:containerSortPredicate, which defines the property used for sorting
> .- ldp:containerSortOrder, which defines the ordering (ascending or
> descending) and is optional
>
> Here is the spec example worked to include this proposal:
>
> +-+-+-+
> # The following is the ordered representation of
> #   http://e.org/nw1/assets/
> @prefix dcterms: <http://purl.org/dc/terms/>.
> @prefix ldp: <http://www.w3.org/ns/ldp#>.
> @prefix o: <http://e.org/o/>.
>
> <http://e.org/nw1/assets/>
>     a ldp:Container;
>     dcterms:title "The assets of JohnZSmith";
>     ldp:membershipSubject <http://e.org/nw1>;
>     ldp:membershipPredicate o:asset.
>
> <http://e.org/nw1/assets/?firstPage>
>     a ldp:Page;
>     ldp:pageOf <http://e.org/nw1/assets/>;
>     ldp:containerOrder
>       ( [ldp:containerSortPredicate o:first. ]
>         [ldp:containerSortPredicate o:second;
>          ldp:containerSortOrder ldp:descending . ] ).
>
> <http://e.org/nw1>
>     a o:NetWorth;
>     o:asset <http://e.org/nw1/assets/a1>, <http://e.org/nw1/assets/a2>,
> <http://e.org/nw1/assets/a3>.
>
> <http://e.org/nw1/assets/a1>
>     a o:Stock;
>     o:first 100.00;
>     o:second 5.
> <http://e.org/nw1/assets/a2>
>     a o:Cash;
>     o:first 50.00;
>     o:second 17.
> <http://e.org/nw1/assets/a3>
>     a o:RealEstateHolding;
>     o:first 300000.00;
>     o:second 1355.
> +-+-+-+
>
> If the server wants to expose simple, it could just do:
>
> <http://e.org/nw1/assets/?firstPage> ldp:containerOrder (
> [ldp:containerSortPredicate o:first] ).
>
> In summary, when a client asks for a paginated representation is because it
> needs to sequentially process the members of a container. It doesn't have
> any way of asking for a specific order, but the server already defines it in
> some way.
>
> The point is that if the client doesn't know in which order the server is
> sorting members, it doesn't know the correct sequence to process (e.g., for
> visualization) them correctly. So, even if the client cannot specify
> ordering, it is useful for it to know the ordering details.
>
> This proposal achieves the same goal as Richard's one of explicitly stating
> the ordered list of members. From my point of view both can be valid and
> both require clients and servers to agree on the meaning of how sort order
> is exposed.
>
> For closing issue 14, this one is enough for me and simple to apply, since
> it builds upon the existing content in the specification.
>
> Kind regards,
>
> --
>
> Dr. Raúl García Castro
> http://delicias.dia.fi.upm.es/~rgarcia/
>
> Ontology Engineering Group
> Departamento de Inteligencia Artificial
> Universidad Politécnica de Madrid
> Campus de Montegancedo, s/n - Boadilla del Monte - 28660 Madrid
> Phone: +34 91 336 36 70 - Fax: +34 91 352 48 19
>

+1 makes sense to me

--
- Steve Speicher

Received on Tuesday, 2 April 2013 11:50:13 UTC