<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Reification, Triples, Quads and not getting it&#8230;</title>
	<atom:link href="http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/feed/" rel="self" type="application/rss+xml" />
	<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=reification-triples-quads-and-not-getting-it</link>
	<description>A low-frequency blog by Rob Styles</description>
	<lastBuildDate>Sun, 29 Apr 2012 07:29:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Nik</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1026</link>
		<dc:creator>Nik</dc:creator>
		<pubDate>Mon, 25 Aug 2008 07:21:28 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1026</guid>
		<description>Informative. I want to read more. &lt;a href=&quot;http://bride-makeup.ru&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;Will it be continued?</description>
		<content:encoded><![CDATA[<p>Informative. I want to read more. <a href="http://bride-makeup.ru" rel="nofollow"></a>Will it be continued?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ivan Mikhailov</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1025</link>
		<dc:creator>Ivan Mikhailov</dc:creator>
		<pubDate>Fri, 04 Apr 2008 04:31:31 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1025</guid>
		<description>I don&#039;t like reification, it adds too much data for too little result. Reification can be replaced with proper use of graphs in many cases. Say, the best way of tracking multiset of tags is to keep personal tags of every origin in a separate graph and use the quad store that can efficiently query all graphs in a single triple pattern.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t like reification, it adds too much data for too little result. Reification can be replaced with proper use of graphs in many cases. Say, the best way of tracking multiset of tags is to keep personal tags of every origin in a separate graph and use the quad store that can efficiently query all graphs in a single triple pattern.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Styles</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1024</link>
		<dc:creator>Rob Styles</dc:creator>
		<pubDate>Thu, 03 Apr 2008 16:48:04 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1024</guid>
		<description>I suspect my terminology has confused things - when many people talk about quads they are talking about the fourth aspect being the graph that a triple belongs to.

I was saying that I have reached the conclusion that all the ways in which I was thinking about triples having identity, other than by virtue of what they state, were wrong. That&#039;s not to say others don&#039;t have good arguments in support - I just don&#039;t have any, anymore.

as far as the rest of the comments go... ? eh? took me several minutes to parse most of those sentences ;-)</description>
		<content:encoded><![CDATA[<p>I suspect my terminology has confused things &#8211; when many people talk about quads they are talking about the fourth aspect being the graph that a triple belongs to.</p>
<p>I was saying that I have reached the conclusion that all the ways in which I was thinking about triples having identity, other than by virtue of what they state, were wrong. That&#8217;s not to say others don&#8217;t have good arguments in support &#8211; I just don&#8217;t have any, anymore.</p>
<p>as far as the rest of the comments go&#8230; ? eh? took me several minutes to parse most of those sentences <img src='http://dynamicorange.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sam Tunnicliffe</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1023</link>
		<dc:creator>Sam Tunnicliffe</dc:creator>
		<pubDate>Thu, 03 Apr 2008 16:42:13 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1023</guid>
		<description>WRT the tag cloud example, and aside from any arguments over the
semantics of duplicate statements, many stores do not support them*, so
the answer to the sparql query you use here will be the same no matter
how many times you assert or reassert the statement
&lt;http://..../something&gt; tags:taggedWith &quot;Interesting&quot;. So I guess what
you really want is for stores to internally reify statements so that one
assertion of s p o can be differentiated from another. In addition to
this, large swathes of the RDF community consider reification in RDF to
be fundamentally broken, due to the inability to differentiate between
quoted and asserted statements.

An alternative approach could be to make the modelling slightly more
complex, along the lines of like:

&lt;http://.../tags/123&gt; a &lt;http://.../schema/Tag&gt;.
&lt;http://.../tags/123&gt; tags:tagValue &quot;Interesting&quot; .

&lt;http://.../taggings/abc&gt; a &lt;http://.../schema/Tagging&gt; .
tags:tag &lt;http://.../tags/123&gt; .
tags:thingBeingTagged &lt;http://.../somthing&gt; .

Incrementing the tag count, when someone else creates the same tag is a
case of adding a few statements.

&lt;http://.../taggings/def&gt; a &lt;http://.../schema/Tagging&gt; /
tags:tag &lt;http://.../tags/123&gt; .
tags:thingBeingTagged &lt;http://.../something&gt; .

If you add graph support on top of this, I guess you could partition the
individual taggings into distinct graphs and get some rudimentary
provenance information (or you could add properties to the Tagging
instances). I can&#039;t help but feel that I&#039;m missing something here, so if
we&#039;re at cross purposes here, sorry.

*I&#039;m sure there&#039;s better documentation about this, but
http://lists.w3.org/Archives/Public/semantic-web/2005Oct/0193.html was
all I could find right off



Cheers,
Sam</description>
		<content:encoded><![CDATA[<p>WRT the tag cloud example, and aside from any arguments over the<br />
semantics of duplicate statements, many stores do not support them*, so<br />
the answer to the sparql query you use here will be the same no matter<br />
how many times you assert or reassert the statement<br />
&lt;<a href="http://" rel="nofollow">http://</a>&#8230;./something&gt; tags:taggedWith &#8220;Interesting&#8221;. So I guess what<br />
you really want is for stores to internally reify statements so that one<br />
assertion of s p o can be differentiated from another. In addition to<br />
this, large swathes of the RDF community consider reification in RDF to<br />
be fundamentally broken, due to the inability to differentiate between<br />
quoted and asserted statements.</p>
<p>An alternative approach could be to make the modelling slightly more<br />
complex, along the lines of like:</p>
<p>&lt;<a href="http://" rel="nofollow">http://</a>&#8230;/tags/123&gt; a &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/schema/Tag&gt;.<br />
&lt;<a href="http://" rel="nofollow">http://</a>&#8230;/tags/123&gt; tags:tagValue &#8220;Interesting&#8221; .</p>
<p>&lt;<a href="http://" rel="nofollow">http://</a>&#8230;/taggings/abc&gt; a &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/schema/Tagging&gt; .<br />
tags:tag &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/tags/123&gt; .<br />
tags:thingBeingTagged &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/somthing&gt; .</p>
<p>Incrementing the tag count, when someone else creates the same tag is a<br />
case of adding a few statements.</p>
<p>&lt;<a href="http://" rel="nofollow">http://</a>&#8230;/taggings/def&gt; a &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/schema/Tagging&gt; /<br />
tags:tag &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/tags/123&gt; .<br />
tags:thingBeingTagged &lt;<a href="http://" rel="nofollow">http://</a>&#8230;/something&gt; .</p>
<p>If you add graph support on top of this, I guess you could partition the<br />
individual taggings into distinct graphs and get some rudimentary<br />
provenance information (or you could add properties to the Tagging<br />
instances). I can&#8217;t help but feel that I&#8217;m missing something here, so if<br />
we&#8217;re at cross purposes here, sorry.</p>
<p>*I&#8217;m sure there&#8217;s better documentation about this, but<br />
<a href="http://lists.w3.org/Archives/Public/semantic-web/2005Oct/0193.html" rel="nofollow">http://lists.w3.org/Archives/Public/semantic-web/2005Oct/0193.html</a> was<br />
all I could find right off</p>
<p>Cheers,<br />
Sam</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Murray</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1022</link>
		<dc:creator>Peter Murray</dc:creator>
		<pubDate>Thu, 03 Apr 2008 14:51:14 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1022</guid>
		<description>I&#039;m with Jonathan -- if you&#039;ve come to a great realization, I don&#039;t get it yet (why quads aren&#039;t needed) and would appreciate some further pointers.</description>
		<content:encoded><![CDATA[<p>I&#8217;m with Jonathan &#8212; if you&#8217;ve come to a great realization, I don&#8217;t get it yet (why quads aren&#8217;t needed) and would appreciate some further pointers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bryan thompson</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1021</link>
		<dc:creator>bryan thompson</dc:creator>
		<pubDate>Thu, 03 Apr 2008 14:30:29 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1021</guid>
		<description>No, you do want quads.  If you use a BNode for the context position then the store will assign a unique identifier for the statement.  If you only do this for the &quot;distinct triples&quot; (s,p,o) then you have unique identifiers for your statements in the triple store and you can go ahead and make assertions about that statements.

Reification is wrong here from two perspectives. First, reification is a statement model and says nothing about whether or not the statement itself is asserted. Second, while a lot of people have handled this problem using reification, it blows up the size of the database considerably since it adds 4 assertions for each original triple.

Use quads.

Use a bnode for the context position.

You&#039;ll be fine.

Caveat: SPARQL allows the quad position to be interpreted in a variety of manners and the semantics basically depend on your application&#039;s commitment to how it is going to manage the context position.  Different applications can do different things and this can lead to confusion when you try to combine the data together.</description>
		<content:encoded><![CDATA[<p>No, you do want quads.  If you use a BNode for the context position then the store will assign a unique identifier for the statement.  If you only do this for the &#8220;distinct triples&#8221; (s,p,o) then you have unique identifiers for your statements in the triple store and you can go ahead and make assertions about that statements.</p>
<p>Reification is wrong here from two perspectives. First, reification is a statement model and says nothing about whether or not the statement itself is asserted. Second, while a lot of people have handled this problem using reification, it blows up the size of the database considerably since it adds 4 assertions for each original triple.</p>
<p>Use quads.</p>
<p>Use a bnode for the context position.</p>
<p>You&#8217;ll be fine.</p>
<p>Caveat: SPARQL allows the quad position to be interpreted in a variety of manners and the semantics basically depend on your application&#8217;s commitment to how it is going to manage the context position.  Different applications can do different things and this can lead to confusion when you try to combine the data together.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan Rochkind</title>
		<link>http://dynamicorange.com/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1020</link>
		<dc:creator>Jonathan Rochkind</dc:creator>
		<pubDate>Wed, 02 Apr 2008 21:27:47 +0000</pubDate>
		<guid isPermaLink="false">http://dynamicorange.com/wpblog/2008/04/02/reification-triples-quads-and-not-getting-it/#comment-1020</guid>
		<description>So, still trying to get into RDF and understand this kind of stuff, but do I read you right to say that you no longer currently wish for quads, you realize that everything CAN be done with triples, at least with reification?</description>
		<content:encoded><![CDATA[<p>So, still trying to get into RDF and understand this kind of stuff, but do I read you right to say that you no longer currently wish for quads, you realize that everything CAN be done with triples, at least with reification?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

