<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.1.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Some ideas for static triple indexing</title>
	<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/</link>
	<description>Mostly programming with a few bits of other stuff</description>
	<pubDate>Wed, 07 Jan 2009 02:28:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.1</generator>

	<item>
		<title>By: http://drewp.pip.verisignlabs.com/</title>
		<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30729</link>
		<author>http://drewp.pip.verisignlabs.com/</author>
		<pubDate>Mon, 30 Apr 2007 23:07:55 +0000</pubDate>
		<guid>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30729</guid>
					<description>Your subject-id-range context trick doesn't sound like it has the same capabilities as other context systems. Does yours have a way to store 's1 p1 o1' in one context and 's1 p2 o2' in another? Or do you have to make some other statement to link the ids of the first s1 and the second s1?</description>
		<content:encoded><![CDATA[<p>Your subject-id-range context trick doesn&#8217;t sound like it has the same capabilities as other context systems. Does yours have a way to store &#8217;s1 p1 o1&#8242; in one context and &#8217;s1 p2 o2&#8242; in another? Or do you have to make some other statement to link the ids of the first s1 and the second s1?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Nick Johnson</title>
		<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30730</link>
		<author>Nick Johnson</author>
		<pubDate>Tue, 01 May 2007 00:08:48 +0000</pubDate>
		<guid>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30730</guid>
					<description>Good point about the even distribution of the hashes. I'll have to remember that one. :)

Didn't you say that at least the subject will be a sequential identifier, though, and so not susceptible to that optimisation?

How many actual indexes will you need to efficiently support that set of queries, given your heirarchial index structure? Only 3?</description>
		<content:encoded><![CDATA[<p>Good point about the even distribution of the hashes. I&#8217;ll have to remember that one. <img src='http://phildawes.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Didn&#8217;t you say that at least the subject will be a sequential identifier, though, and so not susceptible to that optimisation?</p>
<p>How many actual indexes will you need to efficiently support that set of queries, given your heirarchial index structure? Only 3?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Phil Dawes</title>
		<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30734</link>
		<author>Phil Dawes</author>
		<pubDate>Tue, 01 May 2007 07:13:37 +0000</pubDate>
		<guid>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30734</guid>
					<description>Hi Drew,

The latter. Subject identifiers aren't exposed to the client so there's no way to make statements using them specificially. Instead to join data from two subjects in different graphs you must use identity by discription (i.e. the subject that has these property values..) and the person/agent doing the query must know about them. 
Internally the subject IDs can be in the 'object' position to support things like containment. E.g. the XML:

&lt;pre&gt;&lt;code&gt;
&#60;person&gt;
  &#60;name&gt;Phil Dawes&#60;/name&gt;
  &#60;email&gt;phil@example.com&#60;/email&gt;
  &#60;knows&gt;
     &#60;person&gt; 
         &#60;name&gt;Steve&#60;/name&gt;
         &#60;email&gt;s@example.com&#60;/email&gt;
     &#60;/person&gt;
  &#60;/knows&gt;
&#60;/person&gt;
&lt;/code&gt;&lt;/pre&gt;

Internally indexed as:
&lt;pre&gt;&lt;code&gt;
#1 name "Phil Dawes"
#1 tag Person
#1 knows #2
#2 name Steve
#2 email steve@example.com
#2 tag Person
&lt;/code&gt;&lt;/pre&gt;

but externally you can't refer to them. Does that make sense?</description>
		<content:encoded><![CDATA[<p>Hi Drew,</p>
<p>The latter. Subject identifiers aren&#8217;t exposed to the client so there&#8217;s no way to make statements using them specificially. Instead to join data from two subjects in different graphs you must use identity by discription (i.e. the subject that has these property values..) and the person/agent doing the query must know about them.<br />
Internally the subject IDs can be in the &#8216;object&#8217; position to support things like containment. E.g. the XML:</p>
<pre><code>
&lt;person>
  &lt;name>Phil Dawes&lt;/name>
  &lt;email><a href="mailto:phil@example.com&lt;/email>">phil@example.com&lt;/email></a>
  &lt;knows>
     &lt;person>
         &lt;name>Steve&lt;/name>
         &lt;email><a href="mailto:s@example.com&lt;/email>">s@example.com&lt;/email></a>
     &lt;/person>
  &lt;/knows>
&lt;/person>
</code></pre>
<p>Internally indexed as:</p>
<pre><code>
#1 name "Phil Dawes"
#1 tag Person
#1 knows #2
#2 name Steve
#2 email <a href="mailto:steve@example.com">steve@example.com</a>
#2 tag Person
</code></pre>
<p>but externally you can&#8217;t refer to them. Does that make sense?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Phil Dawes</title>
		<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30735</link>
		<author>Phil Dawes</author>
		<pubDate>Tue, 01 May 2007 07:15:27 +0000</pubDate>
		<guid>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-30735</guid>
					<description>Hi Nick,

Opaque subject identifiers are even easier to index because they can be picked to be sequential in the index. I.e. subject 3 is at position 3.

Re. number of indexes: I think I'll need at least the following.

s-&gt;p-&gt;o
p-&gt;o-&gt;s
o-&gt;s-&gt;p

So 3 index hierarchies for searches. The subject-id-in-the-object-position mentioned above is a special case, and will probably require its own (relatively small) index o-&gt;sp.</description>
		<content:encoded><![CDATA[<p>Hi Nick,</p>
<p>Opaque subject identifiers are even easier to index because they can be picked to be sequential in the index. I.e. subject 3 is at position 3.</p>
<p>Re. number of indexes: I think I&#8217;ll need at least the following.</p>
<p>s->p->o<br />
p->o->s<br />
o->s->p</p>
<p>So 3 index hierarchies for searches. The subject-id-in-the-object-position mentioned above is a special case, and will probably require its own (relatively small) index o->sp.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Phil Dawes&#8217; Stuff &#187; Blog Archive &#187; Indexes, Hashes &#38; Compression</title>
		<link>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-41751</link>
		<author>Phil Dawes&#8217; Stuff &#187; Blog Archive &#187; Indexes, Hashes &#38; Compression</author>
		<pubDate>Thu, 26 Jul 2007 20:56:26 +0000</pubDate>
		<guid>http://phildawes.net/blog/2007/04/30/some-ideas-for-static-triple-indexing/#comment-41751</guid>
					<description>[...] few things have changed in my thinking since my last post about indexing. Although using hashes to represent tokens is really useful when joining datasets from different [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] few things have changed in my thinking since my last post about indexing. Although using hashes to represent tokens is really useful when joining datasets from different [&#8230;]</p>
]]></content:encoded>
				</item>
</channel>
</rss>
