Re: Real-world concept URIs

Hi Luca,

Thank you for your reply.

An example why you would need it is to add more statements for e.g., 
hypermedia applications which need to know how to navigate. For 
instance, our zebra has many owners (and these owners don't fit on one 
page):

HTTP GET http://zebra#animal
Response:
<http://zebra#animal> a dbpedia-owl:Animal .
<http://zebra/bert#owner> foaf:name "Bert" ; ns0:owns 
<http://zebra#animal> .
<http://zebra/ernie#owner> foaf:name "Ernie"; ns0:owns 
<http://zebra#animal> .
...
<http://zebra> a hydra:PagedCollection ;
                     hydra:firstPage <http://zebra?page=1> ;
                     hydra:nextPage <http://zebra?page=2> .

What I suggest instead is introducing something like this:

HTTP GET http://zebra
Response:
<//zebra> a dbpedia-owl:Animal .
<//zebra/bert> foaf:name "Bert" ; ns0:owns <//zebra> .
<//zebra/ernie> foaf:name "Ernie"; ns0:owns <//zebra> .
...
<http://zebra> a hydra:PagedCollection ;
                     hydra:firstPage <http://zebra?page=1> ;
                     hydra:nextPage <http://zebra?page=2> .

Kind regards,

Pieter

On 2014-07-17 17:16, Luca Matteis wrote:
> I never really understood the difference between real world objects
> and their representations. I've never had to talk about the
> representation of something, so I always just dealt with real world
> URIs. I have http://zebra. For me http://zebra represents the animal
> zebra. If people want to know what it is, they resolve it. Done. When
> do people need to refer to the "document" or the representation of the
> animal zebra?
>
> On Wed, Jul 16, 2014 at 3:55 PM, Pieter Colpaert
> <pieter.colpaert@ugent.be> wrote:
>> Hi list,
>>
>> Short version:
>>
>> I want real-world concepts to be able to have a URI without a "http://". You
>> cannot transfer any real-world concept over an Internet protocol anyway. Why
>> I would consider changing this can be
>>
>>   * If you don't agree, why?
>>   * If you do agree, should we change the definition of a URI? Will this
>> break existing Linked Data infrastructure?
>>
>> Long version:
>>
>> I'm overlooking the development of a hypermedia application* at a server
>> which redirects all http://{foobar} URIs towards https://{foobar}.
>> Furthermore, in order to make a distinction between real-world objects and
>> their representation, I have added "#object" at the end of the URIs for the
>> real-world objects in the store behind it.
>>
>> Now I have to explain these developers that each time a request is done on
>> the website, they will have to look up what the requested URI was, then
>> substitute https:// with http:// and then concatenate "#object" to the URI,
>> in order to be able to find statements which will be useful in the
>> application. The reason behind this is of course the real-world objects
>> which cannot be retrieved over HTTP, yet the representation has a different
>> URI, which is automatically generated as everything starting at "#" gets
>> deleted anyway.
>>
>> Now I also have to convince another reuser of the data, a native application
>> builder, that he should use these URIs with http:// and "#object". Inside
>> his application, he does have his own style of identifiers, which looks very
>> close to URIs, the only thing that lacks is the protocol. So I've asked him
>> to add the protocol to the URIs for real-world objects and add "#object" at
>> the end. He ended up giving me something with "https://" in the beginnen.
>> Which makes a lot of sense: that's what works on the Web, but sadly not in
>> my store.
>>
>> This process could have been a lot simpler with a tiny change: allowing URIs
>> identifying real-world objects not to have a protocol. Why would you add
>> http:// to something you cannot GET anyway? What if we would allow our
>> real-world URI to be just {foobar} and the URI of the representation being
>> http://{foobar} or https://{foobar}? Now the developers just have to remove
>> the protocol in order to find useful triples about what the client requested
>> in the store.
>>
>> This would make sense in a lot of cases: e.g., my organization is ugent.be,
>> and its Web representation can be found at http://ugent.be. Filling out
>> ugent.be in a browser will automatically refer you to its representation.
>>
>> Your thoughts?
>>
>> Kind regards,
>>
>> Pieter
>>
>> * This application I'm working on: http://iRail.be
>>
>>

Received on Thursday, 17 July 2014 16:09:22 UTC