W3C home > Mailing lists > Public > public-hydra@w3.org > June 2014

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

From: Ruben Verborgh <ruben.verborgh@ugent.be>
Date: Mon, 2 Jun 2014 19:46:08 +0200
Cc: Markus Lanthaler <markus.lanthaler@gmx.net>, "public-hydra@w3.org" <public-hydra@w3.org>
Message-Id: <2CEF8750-3F62-4C1F-BC00-70E6E75768FC@ugent.be>
To: Gregg Kellogg <gregg@greggkellogg.net>
Hi Gregg,

>> Hence, the following is sufficient (1):
>>   </alice/friends> :manages [
>>       :subject </alice>;
>>       :property schema:knows;
>>   ].
>> (where "manages" might not be the best term).
> 
> This is pretty much what Markus and I came up with, and makes manages look like LD Fragments, to me.

Jup, this looks like a basic Linked Data Fragment.

>> Terminology suggestion (just to help us think):
>>   </alice/friends> :isCollectionOf [
>>       rdf:type :CollectionItemTemplate;
>>       :subject </alice>;
>>       :property schema:knows;
>>   ].
>> (Note that the rdf:type could be hidden.)
> 
> I don't see that isCollectionOf does more than manages

It doesn't to anything more, I just tried to make "manages" more tangible/concrete.
(cfr. components named “Manager” in Java, what do they do? :-)

> I also don't see what a CollectionItemTemplate is

An attempt to identify what the blank node is/means.
To me, that node is a template of an item in the collection.

Note that we could really use rdf:subject and rdf:predicate here
(which coincidentally comes very close to basic LDFs);
the range _and_ domain would work.

> and even though property/subject/object should have a domain, it should probably be more generic, such as IndirectResourceManager

Exactly. CollectionItemTemplate would thus be a subclass of IndirectResourceManager,
to allow for other selections besides triple patterns.
But we'll need to come up with better names.

> but in common practice it would be omitted.

Absolutely.
(But still, the blank node needs to be "something", to help us think about it.)

>> The semantics would then mandate be that:
>> - for a given template, minimum 1 and maximum 2 components should be used
>> - the collection contains all items of the dataset that match the template (possibly paged)
> 
> +1, although subject and object may be inferred from other statements.

Fair enough, but dangerous for lighter clients that don't do inferences.

Best,

Ruben
Received on Monday, 2 June 2014 17:46:43 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 15:53:59 UTC