RE: How to avoid that collections "break" relationships

Hi Niklas,

On Tuesday, March 25, 2014 5:21 PM, Niklas Lindström wrote:
> On Tue, Mar 25, 2014 at 4:57 PM, Markus Lanthaler wrote:
> > On Monday, March 24, 2014 5:54 PM, Michael Haschke wrote:
> > > >> Would it be correct to summarize your question as, how do we enable
> > > >> "mechanical" features like addressability and pagination to a value
> > > >> collection in a way that doesn't interfere with its semantics
(i.e.,
> > > >> change the range)?
> > > >
> > > > Yup, this sums it up quite well. Thanks.
> > >
> > > I think we have the "pagination" feature already because we could
> > > spread resource statements over various documents, e.g.
> > >
> > > on /markus/friends/page/1 describe
> > >
> > > </markus> schema:knows </alice>.
> > >
> > > and on /markus/friends/page/2 add
> > >
> > > </markus> schema:knows </zorro>.
> > 
> > Yeah, but that's not the problem. The problem is how to link from
> > /markus to /markus/friends[/page/{page}]
> > 
> > 
> > > Maybe we would need a property in schema.org that let us relate
> > > documents which contain statements about the resource, something very
> > > similar to rdfs:seeAlso:
> > >
> > > </markus> a schema:Person ;
> > >       rdfs:seeAlso </markus/friends/page/1> ;
> > >       rdfs:seeAlso </markus/friends/page/2> .
> > 
> > The mechanism also needs to tell in which relationship the resources
> > stand to each other, in other words, by which property they are
> > "connected" (schema:knows).
> 
> I was thinking the same as Michael (using a mechanism akin to the
> common use of rdfs:seeAlso), and then describe the nature of the page
> linked to. Perhaps seeing it as a variant of a Linkset, to use VoID
> terminology [1]. Giving us something like:
> 
>     </markus> a schema:Person ;
>         rdfs:seeAlso </markus/friends/page/1> .   
>         # or something like :describedBy (as an inverse of :about)
> 
>     </markus/friends/page/1> a void:Linkset;    # or e.g. :LinkPage
>         void:linkPredicate :knows .    #  ...
> 
> (The difference to VoID is that this is reasonably occurring within
> (the same dataset, just partitioned across various documents
> (pages/records/named graphs/information resources/...).)

OK.. this is quite similar to what we discussed in the Hydra CG (and what
LDP does):

    </markus> a schema:Person ;

    </markus/friends/>:manages [
       :subject </markus> ;
       :property schema:knows
    ] ;

The thing I don't really like with these approaches is that you have to peek
into the container to find out whether it contains/manages the information
you are interested in.

I would like to have a relationship between, in this case, /markus and
/markus/friends that makes it clear why I should process /markus/friends.
Pat's proposal is the most elegant so far IMHO.

 
--
Markus Lanthaler
@markuslanthaler

Received on Tuesday, 25 March 2014 17:59:02 UTC