<?xml version="1.0" encoding="utf-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: You don&#8217;t need URI prefixes in RDF queries</title>
	<atom:link href="http://dowhatimean.net/2006/10/no-prefixes-in-queries/feed" rel="self" type="application/rss+xml" />
	<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries</link>
	<description>Richard Cyganiak's Weblog</description>
	<pubDate>Thu, 08 Jan 2009 12:52:50 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Henry Story</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12569</link>
		<dc:creator>Henry Story</dc:creator>
		<pubDate>Wed, 25 Oct 2006 23:27:14 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12569</guid>
		<description>&lt;p&gt;I think you just posted this to get attention ;-)&lt;/p&gt;

&lt;p&gt;I like the way you do it with snorql in D2RQ server. On the web interface you write out the prefixes the database knows about, which saves one having to type out those prefixes and type them out, as in the roller sparql interface here:
&lt;span class='-linked-Data' title='http://roller.blogdns.net:2020/snorql/' postaddress='http://dowhatimean.net/index.php?sioc_type=comment%26sioc_id=12569'&gt;&lt;a href='http://roller.blogdns.net:2020/snorql/'&gt;http://roller.blogdns.net:2020/snorql/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think you just posted this to get attention ;-)</p>

<p>I like the way you do it with snorql in D2RQ server. On the web interface you write out the prefixes the database knows about, which saves one having to type out those prefixes and type them out, as in the roller sparql interface here:
<span class='-linked-Data' title='http://roller.blogdns.net:2020/snorql/' postaddress='http://dowhatimean.net/index.php?sioc_type=comment%26sioc_id=12569'><a href='http://roller.blogdns.net:2020/snorql/'>http://roller.blogdns.net:2020/snorql/</a></span></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Danny</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12563</link>
		<dc:creator>Danny</dc:creator>
		<pubDate>Wed, 25 Oct 2006 22:01:20 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12563</guid>
		<description>&lt;p&gt;Madness! Could be fun to try though - regexs are possible on URIs I think..? Make like there&#8217;s consensus on naming (microformats anybody?).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Madness! Could be fun to try though - regexs are possible on URIs I think..? Make like there&#8217;s consensus on naming (microformats anybody?).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: drewp</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12561</link>
		<dc:creator>drewp</dc:creator>
		<pubDate>Wed, 25 Oct 2006 21:39:39 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12561</guid>
		<description>&lt;p&gt;that huge gap above is actually a comment that says &#8220;below here can be generated automatically&#8221;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>that huge gap above is actually a comment that says &#8220;below here can be generated automatically&#8221;</p>]]></content:encoded>
	</item>
	<item>
		<title>By: drewp</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12559</link>
		<dc:creator>drewp</dc:creator>
		<pubDate>Wed, 25 Oct 2006 21:38:17 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12559</guid>
		<description>&lt;p&gt;I also think the whole plan is poor, and I wonder why you&#8217;d even keep the colons if you were doing random-suffix-matching like that. &lt;/p&gt;

&lt;p&gt;But, it seems like there might be a useful trick buried in here if foaf:name and doap:name both had rdfs:label of &#8220;name&#8221;. Your &#8220;unresolved&#8221; predicates could each be replaced with a variable that matches a predicate with rdfs:label &#8220;name&#8221; that&#8217;s in one of the namespaces that you know about (here, it would be foaf and doap). &lt;/p&gt;

&lt;p&gt;SELECT DISTINCT ?projectName ?personName
WHERE {
  ?person ?name0 ?personName .  # &#8220;name&#8221; gets translated to &#8220;?name0&#8243;
  ?person ?project0 ?project .
  ?project ?name1 ?projectName .&lt;/p&gt;

&lt;h1&gt;below here can be generated automatically&lt;/h1&gt;

&lt;p&gt;?name0 rdfs:label &#8220;name&#8221;; :partOf foaf: .
  ?name1 rdfs:label &#8220;name&#8221;; :partOf foaf: .
  ?project0 rdfs:label &#8220;project&#8221;; :partOf foaf: .
}&lt;/p&gt;

&lt;p&gt;My impromptu sparql is not good enough to specify &#8220;foaf &lt;em&gt;or&lt;/em&gt; doap&#8221;, and I don&#8217;t know how :partOf is really written. But otherwise, it&#8217;s valid, well-constrained sparql that doesn&#8217;t need a special processor (after the addition of my automatic stuff). It won&#8217;t mysteriously change behavior if I merge in some data that uses the predicate drewp:name. The query results could tell you where name0 and name1 got resolved. I think it&#8217;s still a silly plan, but it might possibly have a use if the user is insisting on omitting prefixes.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I also think the whole plan is poor, and I wonder why you&#8217;d even keep the colons if you were doing random-suffix-matching like that. </p>

<p>But, it seems like there might be a useful trick buried in here if foaf:name and doap:name both had rdfs:label of &#8220;name&#8221;. Your &#8220;unresolved&#8221; predicates could each be replaced with a variable that matches a predicate with rdfs:label &#8220;name&#8221; that&#8217;s in one of the namespaces that you know about (here, it would be foaf and doap). </p>

<p>SELECT DISTINCT ?projectName ?personName
WHERE {
  ?person ?name0 ?personName .  # &#8220;name&#8221; gets translated to &#8220;?name0&#8243;
  ?person ?project0 ?project .
  ?project ?name1 ?projectName .</p>

<h1>below here can be generated automatically</h1>

<p>?name0 rdfs:label &#8220;name&#8221;; :partOf foaf: .
  ?name1 rdfs:label &#8220;name&#8221;; :partOf foaf: .
  ?project0 rdfs:label &#8220;project&#8221;; :partOf foaf: .
}</p>

<p>My impromptu sparql is not good enough to specify &#8220;foaf <em>or</em> doap&#8221;, and I don&#8217;t know how :partOf is really written. But otherwise, it&#8217;s valid, well-constrained sparql that doesn&#8217;t need a special processor (after the addition of my automatic stuff). It won&#8217;t mysteriously change behavior if I merge in some data that uses the predicate drewp:name. The query results could tell you where name0 and name1 got resolved. I think it&#8217;s still a silly plan, but it might possibly have a use if the user is insisting on omitting prefixes.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ora Lassila</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12554</link>
		<dc:creator>Ora Lassila</dc:creator>
		<pubDate>Wed, 25 Oct 2006 19:56:13 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12554</guid>
		<description>&lt;p&gt;I meant I disagree with the original post, not with Evan&#8217;s comment (with which I agree).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I meant I disagree with the original post, not with Evan&#8217;s comment (with which I agree).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ora Lassila</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12553</link>
		<dc:creator>Ora Lassila</dc:creator>
		<pubDate>Wed, 25 Oct 2006 19:54:15 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12553</guid>
		<description>&lt;p&gt;I disagree. Please see this: &lt;span class='-linked-Data' title='http://www.lassila.org/blog/archive/2006/10/whaaat.html' postaddress='http://dowhatimean.net/index.php?sioc_type=comment%26sioc_id=12553'&gt;&lt;a href='http://www.lassila.org/blog/archive/2006/10/whaaat.html'&gt;http://www.lassila.org/blog/archive/2006/10/whaaat.html&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I disagree. Please see this: <span class='-linked-Data' title='http://www.lassila.org/blog/archive/2006/10/whaaat.html' postaddress='http://dowhatimean.net/index.php?sioc_type=comment%26sioc_id=12553'><a href='http://www.lassila.org/blog/archive/2006/10/whaaat.html'>http://www.lassila.org/blog/archive/2006/10/whaaat.html</a></span></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Evan</title>
		<link>http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12551</link>
		<dc:creator>Evan</dc:creator>
		<pubDate>Wed, 25 Oct 2006 19:51:27 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/no-prefixes-in-queries#comment-12551</guid>
		<description>&lt;p&gt;-1, for a few reasons. First, foaf:name and doap:name (to use your example) are very different, and lumping them together should only be done if the user explicitly specifies that it should be done, and it is likely there would be far more accidental collisions than purposeful collisions.&lt;/p&gt;

&lt;p&gt;Because we&#8217;re operating under an open-world assumption, we can&#8217;t know what to expect from our data. What happens if the wine example (from the OWL spec) creeps into our dataset? I&#8217;m not sure, but there is probably a wine:name in there. How would you like to be scrolling through a list of people and all of a sudden you come across &#8220;Cabernet Sauvignon&#8221;?&lt;/p&gt;

&lt;p&gt;There is also the fact that, IMHO, we should try to be similar to SQL where possible. Your idea would be quite counter-intuitive for a lot of people coming from SQL backgrounds, because in SQL if more than one table has a column you&#8217;re trying to select, the query will fail unless you explicitly specify which table you want the data from.&lt;/p&gt;

&lt;p&gt;Finally, from an implementation perspective this would be extremely annoying, since URIs would have to be stored as two distinct objects. This would make a lot of implementations a lot slower.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>-1, for a few reasons. First, foaf:name and doap:name (to use your example) are very different, and lumping them together should only be done if the user explicitly specifies that it should be done, and it is likely there would be far more accidental collisions than purposeful collisions.</p>

<p>Because we&#8217;re operating under an open-world assumption, we can&#8217;t know what to expect from our data. What happens if the wine example (from the OWL spec) creeps into our dataset? I&#8217;m not sure, but there is probably a wine:name in there. How would you like to be scrolling through a list of people and all of a sudden you come across &#8220;Cabernet Sauvignon&#8221;?</p>

<p>There is also the fact that, IMHO, we should try to be similar to SQL where possible. Your idea would be quite counter-intuitive for a lot of people coming from SQL backgrounds, because in SQL if more than one table has a column you&#8217;re trying to select, the query will fail unless you explicitly specify which table you want the data from.</p>

<p>Finally, from an implementation perspective this would be extremely annoying, since URIs would have to be stored as two distinct objects. This would make a lot of implementations a lot slower.</p>]]></content:encoded>
	</item>
</channel>
</rss>
