Re: YAML compared to MGraph
Short answer: M is a mindshare-retention tool for developers in the
Microsoft ecosystem. I'd be surprised if it even got support in the Mono
environment, which generally tries *really* hard to stay current with .NET.
Just my two rupiah worth,
Jeff
--
Jeff Dickey Seven Sigma Software and Services
Email: jdickey@...
Phone/SMS: +65 8333 4403
Website: http://www.seven-sigma.com/
More contact info: http://card.ly/jdickey
> From: Jakob Voss <jakob.voss@...>
> Date: Mon, 09 Aug 2010 13:49:11 +0200
> To: <yaml-core@...>
> Subject: Re: [Yaml-core] YAML compared to MGraph
>
> Oren Ben-Kiki wrote:
>
>> According to the rumor mill
>> http://www.infoq.com/news/2010/08/quadrant-drops
>> Microsoft is not really pushing it.
>
> That would answer why I does not beat XML as promised
>
>> The M model isn't identical to YAML's (e.g., collections are unsorted
>> and arrays are second class).
>> M isn't a superset of JSON, YAML is.
>> M is tightly coupled with the Microsoft ecosystem.
>> There are plenty or differences...
>
> I found a good summary at
> http://msdn.microsoft.com/en-us/library/dd878360.aspx that says
> (summarized):
>
> An "M" values instance is a directed, edge-labeled multi-graph[1]. Each
> node is either atomic, holding a single value, or non-atomic, holding a
> multiset of outgoing edges. Nodes carry an optional brand. Brands are
> strings. Edges outgoing from a node are either unlabeled or uniquely
> labeled, relative to their source node. Labels are either strings or
> integers. A value held by an atomic node is either of an "M" values
> classified type or of unclassified type.
>
> In the same way you can describe YAML:
>
> A YAML representation graph instance is a directed edge-labeled[2]
> multi-graph. Each node is either atomic, holding a single value
> ("scalar"), or non-atomic, holding a multiset of outgoing edges. Nodes
> carry an optional tag. Tags are either URIs ("global tags") or strings
> from the URI character set ("local tags"). Edges outgoing from a node
> are either unlabeled and ordered ("sequence") or uniquely labeled
> ("mapping"), relative to their source node and defined by recursion, as
> labels are nodes. A value held by an atomic node is a Unicode string,
> optionally classified by a tag.
>
> It looks like "M" can model ordered collections, records, tuples, lists
> etc. by additional constraints just like YAML models sets and multisets
> (they are not directly supported but must be emulated). The "M" concept
> of "brands" is similar to YAML's tags. I find both model and syntax of
> YAML and "M" look very similar - they share much more then for example
> XML and one of the two.
>
> Remarks:
>
> [1] "M" is a multigraph, as collections can contain the same node
> multiple times.
>
> [2] edge-labels are nodes themselves - this is the most unique features
> of YAML compared to other data serialisation languages. And it's one of
> the most rarely used features I think. Arbitrary mapping keys make
> validating YAML as complex as graph isomorphism testing which is not
> solvable in polynomial time for the worst case. Do you know of any YAML
> implementation that supports graph isomorphism testing?
>
> Cheers,
> Jakob
>
>> On Fri, Aug 6, 2010 at 11:11 AM, Jakob Voss <Jakob.Voss@...
>> <mailto:Jakob.Voss@...>> wrote:
>>
>> Hi,
>>
>> I stumbled upon Microsoft's "M" aka project Oslo which includes the
>> MGraph language. It is often compared with XML but looks much more like
>> YAML. Has anyone had a look at it and compared it with YAML? Some good
>> introductions:
>>
>> http://startbigthinksmall.wordpress.com/2008/12/10/mgraph-the-next-xml/
>>
>> http://blog.jclark.com/2008/11/some-thoughts-on-oslo-modeling-language.html
>
>
> --
> Jakob Voß <jakob.voss@...>, skype: nichtich
> Verbundzentrale des GBV (VZG) / Common Library Network
> Platz der Goettinger Sieben 1, 37073 Göttingen, Germany
> +49 (0)551 39-10242, http://www.gbv.de
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by
>
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev
> _______________________________________________
> Yaml-core mailing list
> Yaml-core@...
> https://lists.sourceforge.net/lists/listinfo/yaml-core
------------------------------------------------------------------------------
This SF.net email is sponsored by
Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev