From ddb8a2cbbd27d5742babf07ab53c8700057ca756 Mon Sep 17 00:00:00 2001 From: Ruben Verborgh Date: Fri, 29 Mar 2019 00:12:05 +0100 Subject: [PATCH] Remove globbing. Closes https://github.com/solid/solid-spec/issues/145. --- api-rest.md | 80 ----------------------------------------------------- 1 file changed, 80 deletions(-) diff --git a/api-rest.md b/api-rest.md index ef9bfc6..d4e0487 100644 --- a/api-rest.md +++ b/api-rest.md @@ -58,86 +58,6 @@ HTTP/1.1 200 OK "780" . ``` -#### Globbing (inlining on GET) - -We have found that in some cases, using the existing LDP features was not -enough. For instance, to optimize certain applications we needed to aggregate -all RDF resources from a container and retrieve them with a single GET -operation. We implemented this feature on the servers and decided to call it -"globbing". Similar to [UNIX shell -glob](https://en.wikipedia.org/wiki/Glob_(programming)), doing a GET on any URI -which ends with a `*` will return an aggregate view of all the resources that -match the indicated pattern. - -For example, let's assume that `/data/res1` and `/data/res2` are two resources -containing one triple each, which defines their type as follows: - -For *res1*: - -```ttl -<> a . -``` - -For *res2*: - -```ttl -<> a . -``` - -If one would like to fetch all resources of a container beginning with `res` -(e.g. `/data/res1`, `/data/res2`) in one request, they could do a GET on -`/data/res*` as follows. - -REQUEST: - -```http -GET /data/res* HTTP/1.1 -Host: example.org -``` - -RESPONSE: - -```http -HTTP/1.1 200 OK -``` -```ttl - - a . - - - a . -``` - -Alternatively, one could ask the server to inline *all* resources of a -container, which includes the triples corresponding to the container itself: - -REQUEST: - -```http -GET /data/* HTTP/1.1 -Host: example.org -``` - -RESPONSE: - -```http -HTTP/1.1 200 OK -``` -```ttl -<> - a ; - , . - - - a . - - - a . -``` - -Note: the aggregation process is not currently recursive, therefore it will not -apply to children containers. - ### Alternative: using SPARQL Another possible way of reading and writing data is to use SPARQL. Currently,