RDF 303 redirect clarification
Asked Answered
D

2

1

I'd like to confirm something about the 303 redirect protocol implication.

If one does follow the convention of building RDF (resources/instances file as opposed to vocabularies) using slash URI instead of hash URI for flexibility purpose, does it mean that each resource instance must have a redirect defined (if we want them dereferencable)? Meaning we must define with purl a 303 redirect for each resource to either the same or different file as we see fit?

Also, along the way can someone tell me what is the difference between an information resource and a non-information resource (also called real world object)? More specifically, does not Resource Description Framework stand for Information Resource Description Framework? Maybe a better explanation of what is a resource on the web would help.

Can someone help clarify those concepts?

Despoliation answered 7/4, 2014 at 15:40 Comment(0)
E
4

You could think of information resource as Web document, and of non-information resource as thing. (Not a definition, just so you get a rough idea.)

I tried to explain the difference in this answer:

a HTTP URI could identify the page itself OR the thing the page is about. You can't tell if an URI identifies the page or the thing by simply looking at it.

Example (in Turtle syntax):

<http://en.wikipedia.org/wiki/The_Lord_of_the_Rings> ex:author "John Doe"

This could mean that the HTML page with the URI http://en.wikipedia.org/wiki/The_Lord_of_the_Rings is authored by "John Doe". Or it could mean that the thing described by that HTML page (→ the novel) is authored by "John Doe".

It’s a good practice to make it possible that others can differentiate this when re-using your URIs or your data. However, this is not required; some think that this is a non-issue or not worth the effort.

The discussion about this differentiation is known as the httpRange-14 issue ("What is the range of the HTTP dereference function?").

Some possible solutions are:


So when you use "slash URIs", and you care about the differentiation (and I think you should!), then yes, you would have to use a 303 redirect.

Otherwise (if you’d send 200), all user agents that follow TAG’s resolution would think that your URI identifies an information resource.

Exclude answered 7/4, 2014 at 21:4 Comment(8)
Thanks for the detailed answer it's getting clearer. Although i still would like to know if when i have a RDF file with a set of book defined in it (lordOftheRing, etc...), i should defined a redirect for each of them if i want to be compliant with the principle of linked-data (dereferencable). Said differently, Does each term of dublin core as a redirect for instance ?Despoliation
What i mean is that, in the case i am indeed interested in making the difference between the thing, the RDF file that describes it (which is also a thing by the way) and an eventual html page that present it, and my thing is part of a file that describe 1000 things. To comply to the linked-data principle, each of the thing describe in the RDF file must be made dereferencable right? Meaning i have to manually define a redirect with purl for each item. Isn't it too much, too annoying ? no automation is possible here ?Despoliation
@MaatDeamon: You shouldn’t have to do this manually; this can easily be automated (it depends on your implementation, though. Do you mean you use purl.org? I don’t know their system, so can’t tell what is possible there). You could even generate the information resource about the thing automatically by displaying some relevant data extracted from RDF triples. -- Anyway, I think it’s nice and useful to redirect to a dedicated page about each book, but I guess this is not required. See for example the FOAF vocabulary: […]Exclude
[…] A class, for example http://xmlns.com/foaf/0.1/OnlineAccount (= thing), 303-redirects not to a dedicated page about OnlineAccount, but to the whole vocabulary documentation http://xmlns.com/foaf/spec/ (which contains, among others, documentation about OnlineAccount).Exclude
Could you point me to where to read on this process. How it can be automated. I have not found anything about that in purl. It seem to me that everything should be done manually.... (as far as i have red). What do you use ?Despoliation
@MaatDeamon: With "purl" you mean you are using purl.org for your non-information resource URIs? Sorry, I never used their service, so I can’t say if or how it’s possible there. It seems they have some kind of API for batch processing (with clients). (If it shouldn’t be possible, you could of course use your own domain, which would give you full control.)Exclude
How can I automate that process using my own domain. I have no clue. Not an expert on http server management. So no idea sorry. Could u detail a bit your thought ?Despoliation
@MaatDeamon: This topic is too complex for the comments. If you use any server-side language (e.g., PHP, Python, Perl, Ruby, …), you can simply program it so that it creates your documents and send the correct HTTP status codes. If you have problems implementing it, ask another question here on Stack Overflow. -- If you don’t use a programming language yet (i.e., you have static, manually created documents), you could either switch to using such a language, or you could try to find a ready-made CMS that fulfils your needs (might ask on Software Recommendations if you have specific requirements).Exclude
I
0

More specifically, does not Resource Description Framework stand for Information Resource Description Framework?

No. Because you can describe things that are not information resources, for instance: a person. A lump of cheese. A specific shade of blue.

A URI is the name of a resource - a thing-in-itself that you are actually interested in. Many times that thing-in-itself is actually something available on the web: an image or other media file, a human-readable document. These types of things are called information resources.

So to make it clear whether you are fetching the actual thing, or a document about the thing, linked data issues the 303 redirect.

Iny answered 28/6, 2017 at 6:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.