<?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: Namespaces in queries, part 2</title>
	<atom:link href="http://dowhatimean.net/2006/10/namespaces-in-queries-part-2/feed" rel="self" type="application/rss+xml" />
	<link>http://dowhatimean.net/2006/10/namespaces-in-queries-part-2</link>
	<description>Richard Cyganiak's Weblog</description>
	<pubDate>Thu, 09 Sep 2010 20:45:09 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Richard Cyganiak</title>
		<link>http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12614</link>
		<dc:creator>Richard Cyganiak</dc:creator>
		<pubDate>Thu, 26 Oct 2006 16:08:11 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12614</guid>
		<description>&lt;p&gt;Laurens: Yes, RDF uses full URIs, but there is a clear convention for separating URIs into namespace and localname: Everything up to the last non-NCName character goes into the namespace. Sesame, for example, stores URIs internally as namespace/localname pairs.&lt;/p&gt;

&lt;p&gt;You say that a change in the data might break the query result. That's a good point. This would cause problem for queries that will be re-executed multiple times over a longer period of time, so for that kind of query it's certainly safer to use explicit namespaces.&lt;/p&gt;

&lt;p&gt;But it would not cause problems for the kind of queries I'm interested in: one-off, interactive queries. For these, number of characters typed matters much more, and if the results are wrong then the user can correct the query right away.&lt;/p&gt;

&lt;p&gt;So I guess my suggestion only makes sense in this particular context. Thanks for your help in clarifying this.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Laurens: Yes, RDF uses full URIs, but there is a clear convention for separating URIs into namespace and localname: Everything up to the last non-NCName character goes into the namespace. Sesame, for example, stores URIs internally as namespace/localname pairs.</p>

<p>You say that a change in the data might break the query result. That&#8217;s a good point. This would cause problem for queries that will be re-executed multiple times over a longer period of time, so for that kind of query it&#8217;s certainly safer to use explicit namespaces.</p>

<p>But it would not cause problems for the kind of queries I&#8217;m interested in: one-off, interactive queries. For these, number of characters typed matters much more, and if the results are wrong then the user can correct the query right away.</p>

<p>So I guess my suggestion only makes sense in this particular context. Thanks for your help in clarifying this.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Laurens Holst</title>
		<link>http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12613</link>
		<dc:creator>Laurens Holst</dc:creator>
		<pubDate>Thu, 26 Oct 2006 15:34:33 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12613</guid>
		<description>&lt;p&gt;Also, I donâ€™t really see how this would work, given that RDF is using full (concatenated) URIs, not namespace/key pairs. A substring match on the last part of the string? Then â€˜meâ€™ would also match â€˜nameâ€™, â€˜nameâ€™ would also match â€˜fullnameâ€™, etc.&lt;/p&gt;

&lt;p&gt;~Grauw&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>Also, I donâ€™t really see how this would work, given that RDF is using full (concatenated) URIs, not namespace/key pairs. A substring match on the last part of the string? Then â€˜meâ€™ would also match â€˜nameâ€™, â€˜nameâ€™ would also match â€˜fullnameâ€™, etc.</p>

<p>~Grauw</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Laurens Holst</title>
		<link>http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12612</link>
		<dc:creator>Laurens Holst</dc:creator>
		<pubDate>Thu, 26 Oct 2006 15:31:28 +0000</pubDate>
		<guid isPermaLink="false">http://dowhatimean.net/2006/10/namespaces-in-queries-part-2#comment-12612</guid>
		<description>&lt;p&gt;I think that the main risk is that you are depending on current content of the store conforming to some constraints. If at some point the store is expanded in some other part of the software that uses the same store (e.g. a fathers:name property is added), then it will suddenly start to get buggy. After all, in good modular programming models, a change in one module of a software should not require a change in another. And these bugs will be difficult to hunt down, because no changes were made to that relevant part of the software.&lt;/p&gt;

&lt;p&gt;Also, testing methods would be much more complex. With this, you would basically need to query the entire store and check the results just to make sure that in all cases there is no naming conflict, whereas if youâ€™re using namespaces (and the store integrity is dependable) there can never be a conflict. Also, you would need to repeat this check for everything that adds new properties to the database.&lt;/p&gt;

&lt;p&gt;So it doesnâ€™t seem like a very good idea. And those namespaces are copy/paste anyway, right. I mean, as a programmer there are more tedious tasks than just that (debugging for example :)).&lt;/p&gt;

&lt;p&gt;~Grauw&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think that the main risk is that you are depending on current content of the store conforming to some constraints. If at some point the store is expanded in some other part of the software that uses the same store (e.g. a fathers:name property is added), then it will suddenly start to get buggy. After all, in good modular programming models, a change in one module of a software should not require a change in another. And these bugs will be difficult to hunt down, because no changes were made to that relevant part of the software.</p>

<p>Also, testing methods would be much more complex. With this, you would basically need to query the entire store and check the results just to make sure that in all cases there is no naming conflict, whereas if youâ€™re using namespaces (and the store integrity is dependable) there can never be a conflict. Also, you would need to repeat this check for everything that adds new properties to the database.</p>

<p>So it doesnâ€™t seem like a very good idea. And those namespaces are copy/paste anyway, right. I mean, as a programmer there are more tedious tasks than just that (debugging for example :)).</p>

<p>~Grauw</p>]]></content:encoded>
	</item>
</channel>
</rss>
