<?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: How realistic is using OWL for semweb data integration?</title>
	<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/</link>
	<description>Mostly programming with a few bits of other stuff</description>
	<pubDate>Tue, 07 Oct 2008 08:08:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1.1</generator>

	<item>
		<title>By: Duncan Hull</title>
		<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79713</link>
		<author>Duncan Hull</author>
		<pubDate>Fri, 11 Apr 2008 12:47:38 +0000</pubDate>
		<guid>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79713</guid>
					<description>If ATOM were an RDF format, nobody would use it :) and if RDF is the answer, then we're asking the wrong questions...</description>
		<content:encoded><![CDATA[<p>If ATOM were an RDF format, nobody would use it <img src='http://phildawes.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> and if RDF is the answer, then we&#8217;re asking the wrong questions&#8230;</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Bob DuCharme</title>
		<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79715</link>
		<author>Bob DuCharme</author>
		<pubDate>Fri, 11 Apr 2008 13:42:48 +0000</pubDate>
		<guid>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79715</guid>
					<description>Sure. You could use OWL to identify the correspondences between the various pieces of the Atom structure with the pieces of the RSS 1.0 structure, and then you could perform queries against a mixed collection of RSS 1.0 documents and Atom/RDF documents, e.g. 


&#60;owl:Class rdf:about="http://purl.org/rss/1.0/item"&#62;
  &#60;equivalentClass rdf:resource="http://purl.org/atom/ns#draft-ietf-atompub-format-08/entry"/&#62;
&#60;/owl:Class&#62;

I learned from a recent Talis podcast that Dave Beckett has something that I believe will let you treat Atom documents as RDF, which would be a significant step toward implementing this.  

Bob DuCharme</description>
		<content:encoded><![CDATA[<p>Sure. You could use OWL to identify the correspondences between the various pieces of the Atom structure with the pieces of the RSS 1.0 structure, and then you could perform queries against a mixed collection of RSS 1.0 documents and Atom/RDF documents, e.g. </p>
<p>&lt;owl:Class rdf:about=&#8221;http://purl.org/rss/1.0/item&#8221;&gt;<br />
  &lt;equivalentClass rdf:resource=&#8221;http://purl.org/atom/ns#draft-ietf-atompub-format-08/entry&#8221;/&gt;<br />
&lt;/owl:Class&gt;</p>
<p>I learned from a recent Talis podcast that Dave Beckett has something that I believe will let you treat Atom documents as RDF, which would be a significant step toward implementing this.  </p>
<p>Bob DuCharme</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Phil Dawes</title>
		<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79718</link>
		<author>Phil Dawes</author>
		<pubDate>Fri, 11 Apr 2008 14:31:56 +0000</pubDate>
		<guid>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79718</guid>
					<description>Hi Bob,

Thanks for the reply. 
I suspect the devil is in the detail. For example how would you map RSS1.0's item 'description' and Atom's entry 'content'?. The former is a literal property but the latter is structured object.</description>
		<content:encoded><![CDATA[<p>Hi Bob,</p>
<p>Thanks for the reply.<br />
I suspect the devil is in the detail. For example how would you map RSS1.0&#8217;s item &#8216;description&#8217; and Atom&#8217;s entry &#8216;content&#8217;?. The former is a literal property but the latter is structured object.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Phil Dawes</title>
		<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79719</link>
		<author>Phil Dawes</author>
		<pubDate>Fri, 11 Apr 2008 14:51:13 +0000</pubDate>
		<guid>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79719</guid>
					<description>Sorry I didn't make that very clear. I meant the rdf for rss1description is:
&lt;pre&gt;
#item1 rss1:description "foobah"
&lt;/pre&gt;
whereas the atom RDF for content would be something like :
&lt;pre&gt;
#entry1 atom:content #content1
#content1 atom:type "xhtml"
#content1 atom:value "foobah"
&lt;/pre&gt;
Does that make sense?</description>
		<content:encoded><![CDATA[<p>Sorry I didn&#8217;t make that very clear. I meant the rdf for rss1description is:</p>
<pre>
#item1 rss1:description "foobah"
</pre>
<p>whereas the atom RDF for content would be something like :</p>
<pre>
#entry1 atom:content #content1
#content1 atom:type "xhtml"
#content1 atom:value "foobah"
</pre>
<p>Does that make sense?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Danny</title>
		<link>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79723</link>
		<author>Danny</author>
		<pubDate>Fri, 11 Apr 2008 16:27:53 +0000</pubDate>
		<guid>http://phildawes.net/blog/2008/04/11/how-realisitic-is-using-owl-for-semweb-data-integration/#comment-79723</guid>
					<description>Hi Phil,
Just say "Atom *is* an RDF format" :-) 

Pretty much any data format can be treated as a (domain-specific) RDF serialization by specifying a mapping between the format and the RDF model ("&lt;a href="http://esw.w3.org/topic/MicroModels" rel="nofollow"&gt;micromodels&lt;/a&gt;" or "&lt;a href="http://esw.w3.org/topic/CustomRdfDialects" rel="nofollow"&gt;Custom RDF Dialects&lt;/a&gt;"). A bunch of folks have been working on such a mapping for Atom for a while now, albeit very intermittently. 

The mapping is harder than one might first think because of Atom's relatively complex structure (compared to say RSS). While stuff like the expression of content can be done in RDF in a more or less direct mapping as you demonstrate, the really tricky bit is around IDs (Henry Story's done a lot of &lt;a href="http://bblfish.net/work/atom-owl/" rel="nofollow"&gt;work&lt;/a&gt; on this, though he now reckons he might have been overengineering a little). 

But all being well we'll have some agreement on a preferred mapping pretty soon, and there's the possibility that Atom might then become &lt;a href="http://www.w3.org/TR/grddl-primer/" rel="nofollow"&gt;GRDDL&lt;/a&gt;-enabled (technicially this part's straightforward, all it needs is a tweak to the namespace doc plus the mapping in XSLT). As and when that happens, to any GRDDL-aware agent, every existing Atom doc will be an RDF doc, without any effort from the doc publisher.

So, "...could OWL realistically be used to allow an RSS1.0 app to interpret atom data?".

Hmm, as Bob suggests it may be possible to express equivalences that an OWL reasoner could make sense of, but I think there's an easier route through a word he uses: queries.

If you wanted to create RSS 1.0 from Atom expressed in RDF, you could do it using &lt;a href="http://www.w3.org/TR/rdf-sparql-query/" rel="nofollow"&gt;SPARQL&lt;/a&gt; with something like:

CONSTRUCT {
?item1 rss1:description ?desc
} WHERE {
?entry1 atom:content ?content1 .
?content1 atom:type "xhtml" .
?content1 atom:value ?desc .
}

The tool Dave Beckett's set up is &lt;a href="http://triplr.org" rel="nofollow"&gt;triplr&lt;/a&gt;, which can transform between lots of different serializations - but I've just noticed it chokes on Atom's namespace, presumably because it doesn't have a # or / at the end. I'd better ping him...

http://triplr.org/rdf/planet.intertwingly.net/memes.atom
etc.</description>
		<content:encoded><![CDATA[<p>Hi Phil,<br />
Just say &#8220;Atom *is* an RDF format&#8221; <img src='http://phildawes.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Pretty much any data format can be treated as a (domain-specific) RDF serialization by specifying a mapping between the format and the RDF model (&#8221;<a href="http://esw.w3.org/topic/MicroModels" rel="nofollow">micromodels</a>&#8221; or &#8220;<a href="http://esw.w3.org/topic/CustomRdfDialects" rel="nofollow">Custom RDF Dialects</a>&#8220;). A bunch of folks have been working on such a mapping for Atom for a while now, albeit very intermittently. </p>
<p>The mapping is harder than one might first think because of Atom&#8217;s relatively complex structure (compared to say RSS). While stuff like the expression of content can be done in RDF in a more or less direct mapping as you demonstrate, the really tricky bit is around IDs (Henry Story&#8217;s done a lot of <a href="http://bblfish.net/work/atom-owl/" rel="nofollow">work</a> on this, though he now reckons he might have been overengineering a little). </p>
<p>But all being well we&#8217;ll have some agreement on a preferred mapping pretty soon, and there&#8217;s the possibility that Atom might then become <a href="http://www.w3.org/TR/grddl-primer/" rel="nofollow">GRDDL</a>-enabled (technicially this part&#8217;s straightforward, all it needs is a tweak to the namespace doc plus the mapping in XSLT). As and when that happens, to any GRDDL-aware agent, every existing Atom doc will be an RDF doc, without any effort from the doc publisher.</p>
<p>So, &#8220;&#8230;could OWL realistically be used to allow an RSS1.0 app to interpret atom data?&#8221;.</p>
<p>Hmm, as Bob suggests it may be possible to express equivalences that an OWL reasoner could make sense of, but I think there&#8217;s an easier route through a word he uses: queries.</p>
<p>If you wanted to create RSS 1.0 from Atom expressed in RDF, you could do it using <a href="http://www.w3.org/TR/rdf-sparql-query/" rel="nofollow">SPARQL</a> with something like:</p>
<p>CONSTRUCT {<br />
?item1 rss1:description ?desc<br />
} WHERE {<br />
?entry1 atom:content ?content1 .<br />
?content1 atom:type &#8220;xhtml&#8221; .<br />
?content1 atom:value ?desc .<br />
}</p>
<p>The tool Dave Beckett&#8217;s set up is <a href="http://triplr.org" rel="nofollow">triplr</a>, which can transform between lots of different serializations - but I&#8217;ve just noticed it chokes on Atom&#8217;s namespace, presumably because it doesn&#8217;t have a # or / at the end. I&#8217;d better ping him&#8230;</p>
<p><a href="http://triplr.org/rdf/planet.intertwingly.net/memes.atom" rel="nofollow">http://triplr.org/rdf/planet.intertwingly.net/memes.atom</a><br />
etc.</p>
]]></content:encoded>
				</item>
</channel>
</rss>
