W3C home > Mailing lists > Public > public-hydra@w3.org > January 2015

RE: Questions about new collection design

From: Markus Lanthaler <markus.lanthaler@gmx.net>
Date: Sun, 25 Jan 2015 23:31:25 +0100
To: <public-hydra@w3.org>
Message-ID: <00d501d038ee$a809f0a0$f81dd1e0$@gmx.net>
On 25 Jan 2015 at 22:08, Dietrich Schulten wrote: 
> thanks for the response. Next time I talk triples in the first place :)

Use whatever you think is easier to understand. With the right indentation,
and Turtle shortcuts there's actually very little difference between JSON-LD
and Turtle so that most people should be able to "intuitively" read both
serialization formats.

> Am 25. Januar 2015 21:15:27 schrieb "Markus Lanthaler":
>> On 25 Jan 2015 at 19:10, Dietrich Schulten wrote:
>>> To illustrate the first problem to those of us who read triples more
>>> easily, please consider the Collection with embedded members below:
>>> </alice> hydra:collection </alice/friends> .
>>> </alice/friends> a hydra:Collection ;
>>>     hydra:manages [
>>>         hydra:property schema:knows ;
>>>         hydra:subject </alice> .
>>>     ] ;
>>>     hydra:member </bob> ;
>>>     hydra:member </zelda> .
>>> I hope I got the triples right :) This doesn't seem to say that
>> That's correct 
>>> </alice> knows anyone at all. Not a problem?
>> No, not really I'd say
> I would have thought it is a problem even in RDF if the :knows assertion
> no longer there ;)

Well, it is not in the snippet you pasted above.. that doesn't mean it isn't
anywhere else. Hello again open world assumption :-)

>>> But is there a way to express that the above also entails
>>> </alice> foaf:knows </bob>
>>> </alice> foaf:knows </zelda>
>>> ?
>> Sure, just add those triples :-)
> Yay, I'll gladly duplicate all members :o)

You don't duplicate anything here. Depending on how you look at it, you add
new statements (triples) or you draw new connections into the graph. 

>> It starts to make more sense if you split the collection into multiple
> Care to explain?

The whole point of splitting a collection into multiple pages is to split a
huge response into easier processable chunks. So you don't return all the
triples immediately but server them in chunks and tell the client how to
find them. In case of a collection, you return the information about the
collection and pointers (links) to the data it manages.

>> We *could* also define "manages" in a way that would allow a reasoner to
>> infer these triples automatically.
> But for you that seems not necessary. I think I miss a piece in the
> puzzle here.

It is not necessary as it is trivial for the server to materialize those
triples for you. It's obviously a trade-off. You get a much simpler client
at the cost of using slightly more bandwidth.. I say slightly more because
it is at most one additional triple per member, i.e., just a few bytes
which. Compression should be able to minimize that impact quite effectively.

Markus Lanthaler
Received on Sunday, 25 January 2015 22:31:54 UTC

This archive was generated by hypermail 2.3.1 : Sunday, 25 January 2015 22:31:55 UTC