<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx</link><description>While going through application scenarios for the ADO.NET Data Services Framework (Project Astoria) one of the first things we noticed is that data-centric applications usually want to bring down graphs of related resources in each interaction with the</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>BioSensorAB &amp;raquo; Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7787871</link><pubDate>Tue, 19 Feb 2008 09:50:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7787871</guid><dc:creator>BioSensorAB » Related entries and feeds: links and link expansion</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.biosensorab.org/2008/02/19/related-entries-and-feeds-links-and-link-expansion/"&gt;http://www.biosensorab.org/2008/02/19/related-entries-and-feeds-links-and-link-expansion/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7789919</link><pubDate>Tue, 19 Feb 2008 13:17:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7789919</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;Yes, using the Link element seems more descriptive and true to the spirit of Atom than a custom element like &amp;lt;gd:entryLink/&amp;gt; in GData. Interestingly for interop the GData approach uses the same number of nested elements for a child Entry or Feed as the MS approach above.&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7828374</link><pubDate>Thu, 21 Feb 2008 06:32:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7828374</guid><dc:creator>juliel</dc:creator><description>&lt;p&gt;I was thinking about how to do this (drill into collections dynamically) when I was playing around with Astoria in Popfly. If I understand this correctly, it will really open things up nicely. I'm not really worried about ATOM conformance, so I'll let you guys work that part out! :-)&lt;/p&gt;
&lt;p&gt;Julie&lt;/p&gt;
</description></item><item><title>Astoria Team ponders adding expansion links into the response data</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7842466</link><pubDate>Fri, 22 Feb 2008 01:14:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7842466</guid><dc:creator>Hot Topics</dc:creator><description>&lt;p&gt;Pablo Castro explains the reasoning behind wanting to add links to the Astoria payload so that it&amp;amp;#39;s&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7957155</link><pubDate>Fri, 29 Feb 2008 22:02:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7957155</guid><dc:creator>Danny</dc:creator><description>&lt;p&gt;Oh Pablo, I don't know whether to laugh or cry: RDF gets dropped and then right away you need a hack to type links (i.e. do RDF properties)..?&lt;/p&gt;
&lt;p&gt;Anyhow, just as a side fyi, you might want to take a look at &amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://www.w3.org/TR/grddl-primer/&amp;quot;&amp;gt;GRDDL&amp;lt;/a&amp;gt;"&gt;http://www.w3.org/TR/grddl-primer/&amp;quot;&amp;gt;GRDDL&amp;lt;/a&amp;gt;&lt;/a&gt;, it offers a way of automatically extracting RDF from arbitrary XML (main mechanism is XSLT, but it's pretty clever how it gets invoked). Probably not immediately useful in this context, but might spawn some ideas.&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7958721</link><pubDate>Fri, 29 Feb 2008 22:45:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7958721</guid><dc:creator>Danny</dc:creator><description>&lt;p&gt;PS. Just remembered - atom:link@rel supports URIs - why not give the relation a URI? rel=&amp;quot;related&amp;quot; does seem a bit redundant.&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#7959049</link><pubDate>Fri, 29 Feb 2008 22:55:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7959049</guid><dc:creator>pabloc</dc:creator><description>&lt;p&gt;Hey Danny,&lt;/p&gt;
&lt;p&gt;Thanks for the pointer, I'll read on the GRDDL stuff.&lt;/p&gt;
&lt;p&gt;Re: links...yeah, I agree, rel=&amp;quot;related&amp;quot; is not exactly adding information there. Probably a URI with a predictable form (to know what relationship it is) is the best choice.&lt;/p&gt;
&lt;p&gt;-pablo&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#8053257</link><pubDate>Wed, 05 Mar 2008 20:10:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8053257</guid><dc:creator>Mike</dc:creator><description>&lt;p&gt;I agree that using the Link element is a natural and understandable way to go. But to make the expand functionality complete and usable you must be able to filter on properties of the nested entities. So, something like&lt;/p&gt;
&lt;p&gt;Customer?$expand=SalesOrderHeader &amp;amp; $filter=SalesOrderHeader/TotalDue gt 1000.0&lt;/p&gt;
&lt;p&gt;Should be possible.&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#8329507</link><pubDate>Fri, 21 Mar 2008 19:14:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8329507</guid><dc:creator>Steve Ickman</dc:creator><description>&lt;p&gt;I second (or third :) the use of a URI for atom:link@rel. &amp;nbsp;I known what you guys are striving for with the generic &amp;quot;related&amp;quot; rel type but the client already has to understand the schema of an &amp;quot;event&amp;quot; entry to do anything useful with it and to do the $expand thing they even have to know up front that events have related Venu &amp;amp; Attendees resources. &amp;nbsp;So strongly typing the rel value seems like the more consisten thing to do. &lt;/p&gt;
&lt;p&gt;-steve&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#8573352</link><pubDate>Wed, 04 Jun 2008 16:58:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8573352</guid><dc:creator>Joe Gregorio</dc:creator><description>&lt;p&gt;With respect to the expanding links inline, at Google we are considering using the atom:content element inside the atom:link element. The meaning of atom:content is already specified, and given the discussion on atom-syntax the consensus appears to be that atom:content appearing as a child of atom:link would qualify it as foreign markup and thus be valid.&lt;/p&gt;
</description></item><item><title>re: Related entries and feeds: links and link expansion</title><link>http://blogs.msdn.com/astoriateam/archive/2008/02/18/related-entries-and-feeds-links-and-link-expansion.aspx#9922898</link><pubDate>Mon, 16 Nov 2009 12:01:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9922898</guid><dc:creator>Alistair Miles</dc:creator><description>&lt;p&gt;Hi, I see this discussion is a bit old now, but FWIW we're using Atom in a project to develop a system for managing data and metadata for malaria research, and have hit some similar questions. &lt;/p&gt;
&lt;p&gt;In particular, I have been wondering if it was reasonable to expand related entries inline, and if so, what is best practice for doing so, so it is a relief to see others have considered doing something similar. Personally, I think it makes good sense, and the only question is, what element should you use as the direct child of the link element to contain the inline entry? We had tentatively plumped for stickiing the expanded atom:entry directly in the atom:link element, although this looks like it would violate the atom format spec, but it just seemed unnecessary to use some intermediate (like m:inline as you've done). I don't really mind using an intermediate, but if it is necessary it would be nice to have some consensus on what best practice is - I see Joe Gregorio has suggested using atom:content, although (without delving any deeper) I'm a bit confused as to why an atom:content element can be treated as foreign markup - the content model for atom:link is undefinedContent = (text|anyForeignElement)*, and anyForeignElement seems to exclude anything in the atom namespace. &lt;/p&gt;
&lt;p&gt;The other two questions we had were (1) how should we represent different types of link relationships, and (2) where should we stick the foreign markup that is our data?&lt;/p&gt;
&lt;p&gt;For (1) we chose to use rel attribute values, because this seemed to correspond to usage of rel attributes in HTML. We chose to use plain strings as rel attribute values (e.g. &amp;quot;chassis.study&amp;quot;) but thought of using URIs as per Danny's suggestion. We haven't gone for URIs yet because we have no compelling reason for it, but would be happy to shift if there was a good reason.&lt;/p&gt;
&lt;p&gt;For (2) we've stuck the foreign markup in the atom:content element with type application/xml as you've done, which seemed the natural place to put it from reading the atom specs, and because it keeps the distinction between data and metadata a bit clearer, however were concerned that google's data APIs don't bother and stick the foreign markup directly within the atom:entry element. Maybe it doesn't matter, but it would be nice to have some guidance / consensus on this.&lt;/p&gt;
&lt;p&gt;I'd be grateful to hear any comments or followup on where you've gone with these issues.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Alistair&lt;/p&gt;
</description></item></channel></rss>