- From: Pierre-Antoine Champin <pierre-antoine.champin@liris.cnrs.fr>
- Date: Thu, 14 Mar 2013 19:50:38 +0100
- To: Alexandre Bertails <bertails@w3.org>
- Cc: James Leigh <james@3roundstones.com>, "public-ldp@w3.org" <public-ldp@w3.org>
- Message-ID: <CA+OuRR_=_nHgXakGxxEN8BDxZUv-=MK0ubcBRWGai_X0LfoQJA@mail.gmail.com>
Funny how James's solution is similar to one I toyed with before coming up
with the alternatived proposed in my initial mail.
First, I was planning to use a "special" URI to represent the entity
resource. I had the idea of calling it :create (given the correct default
namespace), so that it read :
ldp:create a o:Bond ;
o:value 20000 .
I though it looked good :) But I then moved away from this pattern as it
seemed like "lying" -- or at least, it seemed wrong to use a URI as an
indexical.
I guess I still prefer my alternative, as blank nodes are really that:
variables. They exist precisely to denote a resource whose URI we don't
know. I agree that it does not allow me to create hash-URI, which is a
shame.
But couldn't I just POST a description of the resource itself, and PUT
additional triples with hash-URIs afterwards, once I know the URI ?
(making simple things simple, and complex things possible?)
pa
On Thu, Mar 14, 2013 at 6:21 PM, Alexandre Bertails <bertails@w3.org> wrote:
> On 03/14/2013 12:49 PM, James Leigh wrote:
> > On Thu, 2013-03-14 at 17:11 +0100, Pierre-Antoine Champin wrote:
> >> James,
> >>
> >>
> >> On Thu, Mar 14, 2013 at 3:07 PM, James Leigh <james@3roundstones.com>
> >> wrote:
> >> On Thu, 2013-03-14 at 10:03 +0100, Henry Story wrote:
> >> >
> >> > The relevant section of the Turtle spec is section 6.3
> >> > http://www.w3.org/TR/turtle/#relative-iri
> >> >
> >> >
> >> > Notice that you cannot use NTriples to do what you want
> >> either, since
> >> > you cannot
> >> > know when creating a resource what the URI of the created
> >> resource is
> >> > going to be.
> >> > You would need to only use blank nodes in the graph
> >> produced, which
> >> > would be
> >> > to say the least very awkward.
> >>
> >>
> >>
> >> In Callimachus, when a resource is created there is no funny
> >> base-uri
> >> going on (we use the RDF model). Although we use sparql-update
> >> format,
> >> any RDF format would work equally well for us including
> >> NTriples.
> >>
> >> Lets calls the to-be-created resource URI the entity URI. All
> >> the
> >> triples that are to-be-inserted to the store must either have
> >> a blank
> >> node subject, have a subject URI of the entity URI, or have a
> >> subject
> >> URI of the entity URI plus a fragment identifier. This makes
> >> it very
> >> clear what the entity URI is.
> >>
> >>
> >> But it prevents you from POSTing an *incoming* graph to the entity
> >> resource...
> >>
> >> What if I want to create a person and state that "I know this
> >> person" ?
> >>
> >
> > In Callimachus, you would use two requests. The first one (POST) to
> > create this new person resource and a second request (PATCH) to update
> > another person with the statement "I know them". It's fairly easy and
> > makes sense when you treat triples as belonging to their subject
> > resource.
>
> I agree with this approach. For me, this is Linked Data modeling done
> right, and I would really like this group to generalize the notion of
> "treat[ing] triples as belonging to their subject resource".
>
> IMO, that should be the pattern that we'd encourage, along with the
> use of hash-URIs.
>
> Alexandre.
>
> >
> > Graphs are created/manipulated with a different set of requests and are
> > handled separately.
>
>
>
> >
> > Regards,
> > James
> >>
> >
> >
> >
> >
>
>
>
Received on Thursday, 14 March 2013 18:51:13 UTC