Re: Question about Triple Pattern Fragment (TPF) and hydra:filter

>> Is okay (because hydra:filter would be a subproperty of it);
>> but then I wonder what the difference is with TPF?
>> 
> Firstly, let me clarify that i don't want to change TPF.
> I just want to adopt TPF into hydra:Collection.
> So if there are anything incorrect against current specification of
> TPF, please correct me.

You're totally free to do that, no worries :-)

> ######1) The TPF example (triple pattern)#####
> CONSTRUCT { ?s  rdfs:label   ?label }
> WHERE {
>      ?s   rdfs:label   ?label .
> }
> ######2) My API (graph pattern)##########
> CONSTRUCT { ?member  rdfs:label   ?label }
> WHERE {
>      <http://example.org/collection>  hydra:member  ?member .
>      ?member   rdfs:label   ?label .
> }

Ah okay, the _subject_ of the triple is a member of some collection.
I get it now. That's a difference indeed.

> Therefore, I decide to use hydra:filter to fix this sentence in the
> server implementation:
> <http://example.org/collection>  hydra:member  ?member .
> Then the client only assign the property of member, that is rdfs:label.

Ah, I understand! But that's not what hydra:filter does.

You'd probably need something like (warning: mock-up)

<http://example.org/collection>
    hydra-ex:filter [
        hydra:template "http://example.org/collection{?p}";
        hydra:mapping [ hydra:variable "p"; hydra:property rdf:predicate ],
                      [ hydra-ex:constant "http://example.org/collection"; hydra:property rdf:subject ]
    ].

Here, I used hydra-ex to indicate properties that do not exist officially.

We thus need to inject a constant in the filter, I think.
Any opinions?

Ruben

Received on Tuesday, 6 October 2015 07:56:16 UTC