<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>Phil Dawes' Stuff - Latest Comments in URIs make metadata complicated</title><link>http://phildawesstuff.disqus.com/</link><description></description><language>en</language><lastBuildDate>Thu, 22 Sep 2005 07:51:09 -0000</lastBuildDate><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753149</link><description>&lt;i&gt;Do URIs actually require more upfront thought than other schemes, though?&lt;/i&gt;&lt;br&gt;&lt;i&gt;More than localized, context bound schemes - yes.&lt;/i&gt;&lt;br&gt;&lt;br&gt;But the really cute thing about URIs are that they form a sort of federation of separate localized context bound schemes.  Each URIRef carries around inside itself both the global name of the local scheme and the name within that scheme - all in a reasonably familiar, readable and compact sequence of characters.  So no, I don't think URIRefs can require more upfront thought than localized schemes other than the trivial issue of deciding on the first part of the URI used to prefix names in the scheme - to make them globally unique.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ed Davies</dc:creator><pubDate>Thu, 22 Sep 2005 07:51:09 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753148</link><description>Joshua Tauberer writes:&lt;br&gt;&lt;em&gt;&lt;br&gt;&amp;gt; using URIs collaboratively and successfully requires a non-trivial amount of upfront thought, documentation and proactive consensus building.&lt;br&gt;&lt;br&gt;Every naming scheme is going to be like that, to some degree. Do URIs actually require more upfront thought than other schemes, though? &lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;More than localized, context bound schemes - yes. E.g.&lt;br&gt;&lt;br&gt;PhilDawes name "Phil Dawes"&lt;br&gt;PhilDawes email &lt;a href="mailto:pdawes@users.sf.net" rel="nofollow"&gt;pdawes@users.sf.net&lt;/a&gt;&lt;br&gt;&lt;br&gt;didn't require much thought, because it is bound to the scope of this blog comment. It's a bit throwaway, but you still understand what I mean to some degree because you understand something of the context under which I wrote it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">PhilDawes</dc:creator><pubDate>Thu, 22 Sep 2005 02:56:58 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753147</link><description>Joshua Tauberer writes:&lt;br&gt;&lt;em&gt;&lt;br&gt;&amp;gt; (1) URIs don’t allow you to use existing identity schemes.&lt;br&gt;&lt;br&gt;Exactly because to do so would be ambiguous. How do you know what identity scheme is being used?&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;Context tells you this.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;em&gt;&lt;br&gt;&amp;gt; (4) URIs require a level of precision in ‘meaning’ that is hard to attain. URIs are globally scoped, which means they need to mean the same thing in any context.&lt;br&gt;&lt;br&gt;If this weren’t the case, no two RDF documents could ever be merged because you would never know if the authors intended their nodes to denote the same thing. But, like it was pointed out, it’s not necessarily a problem if this doesn’t occur in practice.&lt;br&gt;&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;I think when it doesnt happen in practice it's because the people doing the merging know something of the context under which the document is written. You need this anyway - otherwise how do you know that the author of the RDF graph is a reliable source, or even competent in RDF? &lt;br&gt;&lt;br&gt;Besides - I think this problem &lt;a href="http://www.phildawes.net/blog/2005/04/20/is-identity-in-the-eye-of-the-beholder/" rel="nofollow"&gt;does happen in practice&lt;/a&gt;.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">PhilDawes</dc:creator><pubDate>Thu, 22 Sep 2005 02:48:02 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753146</link><description>Each of the problems you point out are really by design:&lt;br&gt;&lt;br&gt;&amp;gt; (1) URIs don’t allow you to use existing identity schemes.&lt;br&gt;Exactly because to do so would be ambiguous.  How do you know what identity scheme is being used?  You could, say, prefix it with the name of the scheme (i.e.  myscheme:12345) -- but then you have to unambiguously identity the scheme name.  If the scheme name is unambiguous, then you have a URI anyway.&lt;br&gt;&lt;br&gt;&amp;gt; (2) HTTP URIs have a load of implicit baggage&lt;br&gt;It's not a requirement that people use HTTP URIs.  I'd be all for throwing away these, but that doesn't mean throwing away the entire URI concept.&lt;br&gt;&lt;br&gt;&amp;gt; (3) URIs are URLs&lt;br&gt;Aren't URLs URIs?  Same as 2.&lt;br&gt;&lt;br&gt;&amp;gt; (4) URIs require a level of precision in ‘meaning’ that is hard to attain.  URIs are globally scoped, which means they need to mean the same thing in any context.&lt;br&gt;If this weren't the case, no two RDF documents could ever be merged because you would never know if the authors intended their nodes to denote the same thing.  But, like it was pointed out, it's not necessarily a problem if this doesn't occur in practice.&lt;br&gt;&lt;br&gt;&amp;gt; using URIs collaboratively and successfully requires a non-trivial amount of upfront thought, documentation and proactive consensus building.&lt;br&gt;Every naming scheme is going to be like that, to some degree.  Do URIs actually require more upfront thought than other schemes, though?</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Joshua Tauberer</dc:creator><pubDate>Wed, 21 Sep 2005 06:48:28 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753145</link><description>&lt;i&gt;In theory, when you merge data, you determine that the same URI has different referents via logical inconsistencies; in practice you have domain experts and data modellers look analyse the data (just like you do with relational database integrations).&lt;/i&gt;&lt;br&gt;&lt;br&gt;Surely, if two or more datasets use the same URI to denote different resources then at least one of them is simply wrong - it is not using the URI in the way that the URI's original minter intended.  In practice, you need to have your domain experts fix up the data before the merge.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ed Davies</dc:creator><pubDate>Wed, 21 Sep 2005 06:21:54 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753144</link><description>(3) and partly (2):  Don't point a gun at a person unless you mean to kill them.  Don't point an HTTP URL at a resource unless you mean to retrieve it (or otherwise access it using the Hypertext Transport Protocol).  For "real-world" things use tag: or similar URIs.&lt;br&gt;&lt;br&gt;This will make the distinction clearer to people and will also avoid wasted network traffic when attempts are made to retrieve the resource.&lt;br&gt;&lt;br&gt;I realise I'm in a minority with respect to this opinion on the use of HTTP URLs but I've yet to see a coherent argument against it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ed Davies</dc:creator><pubDate>Wed, 21 Sep 2005 06:11:49 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753143</link><description>Bill de hOra writes:&lt;br&gt;&lt;em&gt;Strictly speaking, (4):&lt;br&gt;&lt;br&gt;“URIs are globally scoped, which means they need to mean the same thing in any context.”&lt;br&gt;&lt;br&gt;isn’t true, for RDF. URIs don’t have meaning they have denotations; denotations are assigned (”distributed”) and that can be done in a local scope. In theory, when you merge data, you determine that the same URI has different referents via logical inconsistencies; in practice you have domain experts and data modellers look analyse the data (just like you do with relational database integrations).&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;Ok - that makes sense  (although I haven't read that anywhere before - but then I'm starting to fall behind with the literature ;-) ). &lt;br&gt;&lt;br&gt;Which means that there's probably a lot of scope for simplifying RDF - you can't throw a baby out with the bathwater if it wasn't in the bath to begin with.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">PhilDawes</dc:creator><pubDate>Tue, 20 Sep 2005 19:01:00 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753142</link><description>Hi Jimmy,&lt;br&gt;&lt;br&gt;Jimmy Cerra writes:&lt;br&gt;&lt;em&gt;&lt;br&gt;Why can't you use blank nodes if you can't use URI References? Resources don't need to be named, and sometimes (like in a database-like environment) most resources will be unnammed.&lt;br&gt;&lt;br&gt;If you are willing to step up to OWL, then with inverse-functional properties you can still identify things with a “public key” like structure. However, you can do that anyway with any practical RDF application too.&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;Actually I attempted to follow this approach at &lt;a href="http://www.drkw.com/" rel="nofollow"&gt;work&lt;/a&gt; for a while (ala foaf), and was indeed willing to step up to OWL - my veudas triplestore supported inverse-functional properties for this reason (via a forward-chaining reasoner e.g. see circa &lt;a href="http://www.phildawes.net/blog/2004/09/11/uri-bloat-in-queries-to-smushed-data/" rel="nofollow"&gt;sep 2004&lt;/a&gt; if you're interested!). &lt;br&gt;It did make things complicated though - IFP smushing was slow, and unless you're going to give people cookie-cutter examples then they really do need to understand IFPs.&lt;br&gt;&lt;br&gt;e.g. people don't naturally write:&lt;br&gt;&lt;br&gt;&amp;lt;pre&amp;gt;&lt;br&gt;&amp;lt;project&amp;gt;&lt;br&gt;   &amp;lt;name&amp;gt;My Application&amp;lt;/name&amp;gt;&lt;br&gt;   &amp;lt;maintainer&amp;gt;&lt;br&gt;        &amp;lt;foaf:Person&amp;gt;&lt;br&gt;             &amp;lt;foaf:mbox&amp;gt;foo@example.com&amp;lt;/foaf:mbox&amp;gt;&lt;br&gt;        &amp;lt;/foaf:Person&amp;gt;&lt;br&gt;   &amp;lt;/maintainer&amp;gt;&lt;br&gt;&amp;lt;project&amp;gt;&lt;br&gt;&amp;lt;/pre&amp;gt;&lt;br&gt;&lt;br&gt;Unfortunately cookie-cutter examples kind-of miss the point - you might as well be translating people's data into RDF for them. The real goal for me at work was that people could come up with their own data (from their own systems) that could be aggregated and merged usefully, otherwise it's not really worth the trouble.&lt;br&gt;&lt;br&gt;&lt;em&gt;&lt;br&gt;...&lt;br&gt;Also, the only requirement is that URI References are semantically uniform across the graphs you use it in. Problems happen when you merge graphs that have different semantics with the same URI Reference, but sometimes the types of graphs merged are small and managable.&lt;br&gt;&lt;br&gt;If you have to merge with large numbers of graphs or with the whole Semantic Web for all of eternity, then I can see where minging URI References is a problem. But that is a social problem with naming itself and not RDF.&lt;br&gt;&lt;/em&gt;&lt;br&gt;&lt;br&gt;I think it's a problem with globally scoped naming. - The RDF model doesn't allow for any skewing of meaning with context. You can't change society, and global adoption is one of the aims of the semantic web.&lt;br&gt;&lt;br&gt;To be honest I think this sort-of illustrates a wider point - if you're just going to work on small manageable sets of data then why bother with complex URI and RDF machinery that inhibit adoption? - It strikes me as quite ironic that the very RDF machinery that was intended to facilitate this large-scale aggregation of data actually ends up inhibiting it.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">PhilDawes</dc:creator><pubDate>Tue, 20 Sep 2005 18:28:30 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753141</link><description>Strictly speaking, (4):&lt;br&gt;&lt;br&gt;"URIs are globally scoped, which means they need to mean the same thing in any context."&lt;br&gt;&lt;br&gt;isn't true, for RDF. URIs don't have meaning they have denotations; denotations are assigned ("distributed")  and that can be done in a local scope. In theory, when you merge data, you determine that the same URI has different referents via logical inconsistencies; in practice you have domain experts and data modellers look analyse the data (just like you do with relational database integrations).&lt;br&gt;&lt;br&gt;For me, you left out an most important thing, which is lots of URIs in the same place are hard to read. QNames win the readability argument.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bill de hOra</dc:creator><pubDate>Tue, 20 Sep 2005 17:58:36 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753140</link><description>I've come to a few different conclusions regarding the above assertions:&lt;br&gt;&lt;br&gt;(1) Why can't you use blank nodes if you can't use URI References? Resources don't need to be named, and sometimes (like in a database-like environment) most resources will be unnammed.&lt;br&gt;&lt;br&gt;If you are willing to step up to OWL, then with inverse-functional properties you can still identify things with a "public key" like structure.  However, you can do that anyway with any practical RDF application too.&lt;br&gt;&lt;br&gt;Also, minting URI References are easy.  Here's a URIRef: "data:Jimmy_Cerra".  It is a little different from english, but we are working with computer languages not english.  Would those people complain about writing their words in languages like Japanese; so are those people having reasonable expetations?&lt;br&gt;&lt;br&gt;Also, the only requirement is that URI References are semantically uniform across the graphs you use it in.  Problems happen when you merge graphs that have different semantics with the same URI Reference, but sometimes the types of graphs merged are small and managable.&lt;br&gt;&lt;br&gt;If you have to merge with large numbers of graphs or with the whole Semantic Web for all of eternity, then I can see where minging URI References is a problem.  But that is a social problem with naming itself and not RDF.&lt;br&gt;&lt;br&gt;(2) Yes, and no.  I've come to the conclusion that the only way to understand the semantics of anything is to ask the author (i.e. human documentation).  There is no way to do so via computers.  This is the same since the dawn of internet time (from the RFC specs to XHTML to the Atom Publication Format).&lt;br&gt;&lt;br&gt;That's one reason nobody likes DTDs, RELAX NG, XML Schema, OWL (sometimes), and others to specify semantics.  You can't do so completely for most non-trivial applications, and all those validation technologies are only hints.  That's also why everyone loves XML Schema Datatypes: those elements specify semantics rather than provide a framework for specifying semantics.&lt;br&gt;&lt;br&gt;(3) Just because some people get confused doesn't mean that others don't.  I understand the differences, as to the people I explain them to.  Should we throw away calculus because some people don't understand it?&lt;br&gt;&lt;br&gt;(4) See (1).&lt;br&gt;&lt;br&gt;I used to be really bugged by those problems... but I think I've found enlightenment.  The best way to write semantic web software is to assume, like Socrates and Decartes, that "To know that you do not know is true wisdom".  I.E. Assume the semantics of nothing in any context and look it up or ask the URI owner.</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jimmy Cerra</dc:creator><pubDate>Tue, 20 Sep 2005 16:05:08 -0000</pubDate></item><item><title>Re: URIs make metadata complicated</title><link>http://www.phildawes.net/blog/2005/09/20/uris-make-metadata-complicated/#comment-2753139</link><description>"Any others?"&lt;br&gt;&lt;br&gt;Yes:&lt;br&gt;&lt;br&gt;  &lt;a href="http://laurentszyster.be/blog/public-names/" rel="nofollow"&gt;http://laurentszyster.be/blog/public-names/&lt;/a&gt;&lt;br&gt;&lt;br&gt;of course ;-)&lt;br&gt;&lt;br&gt;Public Names provide a data model that:&lt;br&gt;&lt;br&gt;1. Captures simple text articulation as unique&lt;br&gt;   sets of strings in a single semantic field,&lt;br&gt;   for instance (with CRLF added):&lt;br&gt;&lt;br&gt;   17:&lt;br&gt;     6:Public,&lt;br&gt;     5:Names,&lt;br&gt;     ,&lt;br&gt;   15:&lt;br&gt;      4:data,&lt;br&gt;      5:model,&lt;br&gt;      ,&lt;br&gt;   1:a,&lt;br&gt;   7:provide,&lt;br&gt;   4:that,&lt;br&gt;&lt;br&gt;2. Allow a simple computer system to validate&lt;br&gt;   a string of bytes as an *unambiguous* text&lt;br&gt;   articulation, for instance:&lt;br&gt;&lt;br&gt;   5:Dawes,4:Phil,&lt;br&gt;&lt;br&gt;and use them as Unique Resource Identifier&lt;br&gt;with the required properties for a semantic&lt;br&gt;application.&lt;br&gt;&lt;br&gt;Kind Regards,</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Laurent Szyster</dc:creator><pubDate>Tue, 20 Sep 2005 14:50:42 -0000</pubDate></item></channel></rss>