W3C home > Mailing lists > Public > public-lod@w3.org > July 2008

Re: How do you deprecate URIs? Re: OWL-DL and linked data

From: Olivier Rossel <olivier.rossel@gmail.com>
Date: Tue, 8 Jul 2008 17:02:34 +0200
Message-ID: <516816970807080802w1c2f3a86h513e8de3d4357e8@mail.gmail.com>
To: "Sherman Monroe" <smonroe@overdogg.com>
Cc: "Mark Wallace" <mwallace@3sigmaresearch.com>, "Jonathan Rees" <jar@creativecommons.org>, "Bernard Vatant" <bernard.vatant@mondeca.com>, "semantic-web at W3C" <semantic-web@w3c.org>, "Earle Martin" <earle@downlode.org>, public-lod@w3.org

what about adding parameters to URIs? I presented such an idea at ESWC2008:
http://flickr.com/photos/dunken69/2568210135/

(note that the slide should have used the classical syntax for
parameters, which is the URx followed by a ? and then key=value pairs
separated by &. i used brackets, that was dumb).

i plan to use URI parameters to define whether the resource pointed by
the URI exists or not,
and also to add details to deference the URI correctly. of course the
UUID intention of URIs is still present, before the ? sign (ie. my
URI.equals() does not rely on parameters to evaluate equality).

would it help in your case?

PS: breathe leo, breathe :)

On Wed, Jul 2, 2008 at 4:15 PM, Sherman Monroe <smonroe@overdogg.com> wrote:
> Hi All,
>
> I like the suggestion to use the literal value of the URI, but as pointed
> out, literals can't be used as subjects. One way to get around this is to
> model the statements as a semantic "frame" (along the lines of your
> "deprecator" example). So you'd have somthing like:
>
> <onto:rec> <rdf:type> <onto:URIRecord>
> <onto:rec> <onto:describes> "http//example.com/a"
> <onto:rec> <onto:status> <onto:deprecated>
>
> This way, the resource you're making the statements about always end up as
> the value of the triple.
>
> More generally, I think this deprecation issue points to a need for an
> ontology for describing URIs, based on a scheme like this, since we wish to
> make statements about the reference URI itself, as opposed to its referent.
> It might allow you to say things like:s
>
> <onto:rec> <rdf:type> <onto:URIRecord>
> <onto:rec> <onto:describes> "http//example.com/a"
> <onto:rec> <onto:publisher> <some:group>
>
>
> -sherman
>
>
> On Wed, Jul 2, 2008 at 8:45 AM, Mark Wallace <mwallace@3sigmaresearch.com>
> wrote:
>>
>> Could you use RDF Reification [1] to deprecate the statement?  E.g. assume
>> an original statement
>>
>>     <ex:a> <ex:hasURI> "http://orig.com/a"
>>
>> and a later updated statement (asserting the better URI).
>>
>>     <ex:a> <ex:hasURI> "http://better.com/a"
>>
>> Could you use RDF reification to say the old statement is deprecated?
>>
>> E.g. first make a new Thing that represents the old statement (_:xxx
>> below)
>>
>>     _:xxx rdf:type rdf:Statement .
>>
>>     _:xxx rdf:subject <ex:a> .
>>
>>     _:xxx rdf:predicate <ex:hasURI> .
>>
>>     _:xxx rdf:object "http://orig.com/a" .
>>
>> and then mark that statement as a deprecated statement.
>>
>>     _:xxx rdf:type <ex:DeprecatedStatement>
>>
>> Would something like that work for you?
>>
>>  -Mark
>>
>> References:
>> [1]  RDF Reification.  http://www.w3.org/TR/rdf-mt/#Reif.
>>
>> Mark Wallace
>> 3-Sigma Research, Indialantic, Florida, USA
>>
>> Jonathan Rees wrote:
>>
>> If you want to make a statement about a URI, you need to use a literal
>> "http:..." or something equivalent, not a reference <http:...>, since in the
>> latter case you're talking about what the URI names, not the URI itself, and
>> things can have more than one name - some of which might be deprecated, and
>> some not.
>>
>> For example, if http:A and http:B are both names for the same thing, but
>> the URI http:A is deprecated while http:B is not deprecated, then
>>    <http:A> rdf:type deprecatedThing .
>> implies
>>   <http:B> rdf:type deprecatedThing .
>> which would contradict
>>   <http:B> rdf:type notDeprecatedThing .
>> On the other hand
>>   "http:A" rdf:type deprecatedURI .
>> would not contradict
>>   "http:B" rdf:type notDeprecatedURI .
>> since the two URIs are different things.
>>
>> Yes, I know a literal can't be a subject, so you need to find a different
>> way to say this in RDF.  If you had a name for the party that is doing the
>> deprecating, you might say
>>   deprecator deprecates "http:A" .
>>   deprecator doesNotDeprecate "http:B" .
>>
>> Instead of saying that <http:A> is a deprecated thing, you could say
>>   <http:A> rdf:type thingWithDeprecatedURI .
>> but that doesn't help, does it? It doesn't tell you which of <http:A>'s
>> URIs is deprecated.
>> Maybe something like
>>   <http:A> hasDeprecatedURI "http:A" .
>>   <http:A> hasNotDeprecatedURI "http:B" .
>>   <http:B> hasDeprecatedURI "http:A" .
>>   <http:B> hasNotDeprecatedURI "http:B" .
>>
>> (and I agree, phrasing statements like this positively is probably better
>> than phrasing them negatively e.g. "deprecation", but that's a separate
>> issue.)
>>
>> Jonathan
>>
>> On Tue, Jun 10, 2008 at 6:03 AM, Bernard Vatant
>> <bernard.vatant@mondeca.com> wrote:
>>>
>>> All
>>>
>>> Following my previous message mentioning lingvoj.org URIs, I had a
>>> message from Earle Martin, early publisher of alternative URIs for languages
>>> at downlode.org.
>>> Considering that lingvoj URIs are "better" than his own URIs (thanks), he
>>> wants the downlode URIs to be flagged as deprecated and replaced by the
>>> matching lingvoj URIs.
>>> On my side I want to keep track of those URIs at lingvoj.org, if only for
>>> backward compatibility, and to acknowledge the pioneering work of Earle in
>>> this domain. :-)
>>>
>>> How should we do that?
>>>
>>> My first thought was to flag the downlode.org URIs with something like
>>> owl:DeprecatedIndividual
>
>
>
> --
> I pray that you may prosper in all things and be healthy, even as your soul
> prospers
> (3 John 1:2)
Received on Tuesday, 8 July 2008 15:04:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:20:40 UTC