Re: How to avoid that collections "break" relationships (ISSUE-41)

Hi Markus,

> So, if we would like to describe that an HTTP LINK operation supports
> the creation of certain links, how would we describe that?

FWIW, this is better modelled using a collection and I would simply do it that way.

> We would need to introduce a separate property to do so, right?

Yeah.

> It is a tradeoff, do we want to keep the vocabulary small at the cost of
> vaguer names or do we prefer to have more explicit names at the cost of a
> bigger vocabulary? I generally lean towards the former.

As a general strategy, yes.
But that's a heuristic, things have to be evaluated on a case-by-case basis.

In this particular case, my judgment is that “manages” is too vague
and is better served by a more specific property.

>>> We might decide to reuse it at a later point to
>>> describe operations in more detail. It could for instance also be used to
>>> indicate that an HTTP Link operation can be used to manage certain
>>> subject/property pairs.
>> 
>> But that's not aligned with what you wanted to express above:
>> 
>>> it indicates what kind of triples can be found in the collection.
> 
> Why not? Doesn't the information about "what kind of triples can be found in
> the collection" help clients to decide "why they might or might not be
> interested in a collection"?

Miscommunication, sorry—I was referring to the non-alignment of:
- “it indicates what kind of triples can be found in the collection.”
- “It could for instance also be used to indicate that an HTTP Link operation
  can be used to manage certain subject/property pairs.”

Those are different things.

>> This reinforces my belief we're actually looking for :isCollectionOf
>> of something similar.
>> It's really those declarative semantics we need here,
>> not the operational semantics.
> 
> Does this imply that you would like to have a different property for the
> operation I outlined above?

Yes.

> Summarized, I think we found a pattern for collections which everyone can
> live with. AFAICT, there are three open issues:
> 
>  1) Do we want to introduce something like hasCollection?
>  2) Should we rename "manages"?

For me those, two belong together:
drop manages and have a clearer name for
   “it indicates what kind of triples can be found in the collection.”

But to simplify:

1) +1
2) no, drop it

>  3) Should we reuse rdf:subject/predicate/object instead of introducing
> hydra:subject/property/object (predicate or property?)

3) 0

Best,

Ruben

Received on Saturday, 7 June 2014 15:54:34 UTC