Welcome to MSDN Blogs Sign in | Join | Help

Marcelo's WebLog

Improving the world one entity at a time
Updates to URL syntax for December CTP of ADO.NET Data Services

This post talks a bit about updates from the last post on the URI format.

In that post, we discussed how we were considering having a "full form" and a "compressed form" for syntax. With the convergence of using ATOM and JSON as the serialization formats, we’ve been able to converge on the URI format as well and thus we no longer have both forms - we simply have the resource set name and a comma-separated list of key values in parents: /Customers('ALFKI')

The use of parens for values is a classic CSV-style design: a character to separate (,); a character to delimit the values so you can include the separator in them ('Lopez Ruiz, Marcelo','another string'), and a convention to double the delimiter to use it ('Marcelo''s World','Party time! Excellent!').

There are other types that don't really require delimiters, like dates, but because they come in handy when used in expressions on the query side of the string (after the '?'), we've kept them in the key portion as well. This way client libraries only need to deal with a single format. If this doesn't make much sense, wait a bit and I'll go into it in a post in the near future.

Everything else works pretty much as described in the post - feel free to post here or in the forums if you have any questions or want to provide feedback on this.

This post is part of the transparent design exercise in the Astoria Team. To understand how it works and how your feedback will be used please look at this post.

Posted: Tuesday, January 08, 2008 7:43 PM by marcelolr

Comments

Johnny Fry said:

Honest opinion?  That is some GHETTO syntax.  That syntax is beating a round peg in a square hole.

Now, because I'm not on your payroll I'm going to give you the full answer to your problem.  However, I'll give you a hint.  You need oridination within your schema's metadata,. I'll even drop another hint: ordination (read:metadata) that can be versioned.

I wrote something similar (though probably not as extensive as Astoria) using WCF, RDF and SQL Server - I am in process of refactoring for SimpleDb.

# January 9, 2008 12:48 AM

Marcelo's WebLog said:

Let's say that we have a data service exposing all of Northwind. We can get all customers in the database

# January 11, 2008 12:43 AM

Noticias externas said:

Let's say that we have a data service exposing all of Northwind. We can get all customers in the

# January 11, 2008 1:30 AM

Project Astoria Team Blog said:

We made few tweaks to our URI syntax to clean it up in the last CTP of ADO.NET Data Services. Marcelo

# January 14, 2008 12:36 PM

Man vs Code said:

Michael Sync has written a sample using the new Astoria Silverlight client library. David Hayden posted

# January 15, 2008 7:55 PM

Noticias externas said:

Michael Sync has written a sample using the new Astoria Silverlight client library. David Hayden posted

# January 15, 2008 8:29 PM

Alex Barnett blog said:

There are a whole bunch of interesting posts / stuff I find on the net that I bookmark on del.icio.us

# January 21, 2008 12:11 PM
New Comments to this post are disabled
Page view tracker