Archive for the ‘Odata’ Category

30-day Public Review for OData, OData Atom Format and OData JSON Format, V4.0

Thursday, May 9th, 2013

30-day Public Review for OData, OData Atom Format and OData JSON Format, V4.0 by Chet Ensign.

A great protocol is just getting better.

But, the OData TC needs your help to proof all the nooks and crannies in the latest draft:

From the email:

The OASIS Open Data Protocol (OData) TC [1] members have recently approved three Committee Specification Drafts (CSDs) and submitted them for 30-day public review:

OData Version 4.0
Committee Specification Draft 01 / Public Review Draft 01
26 April 2013

OData Atom Format Version 4.0
Committee Specification Draft 01 / Public Review Draft 01
26 April 2013

OData JSON Format Version 4.0
Committee Specification Draft 01 / Public Review Draft 01
26 April 2013

Specification Overview:

The Open Data Protocol (OData) enables the creation of REST-based data services, which allow resources, identified using Uniform Resource Identifiers (URIs) and defined in an Entity Data Model (EDM), to be published and edited by Web clients using simple HTTP messages. OData version 4.0 defines the core semantics and facilities of the protocol, a set of recommended (but not required) rules for constructing URLs to identify the data and metadata exposed by an OData service as well as a set of reserved URL query string operators, an Entity Data Model (EDM), and an XML representation of the entity data model exposed by an OData service.

OData Atom Format version 4.0 extends the former by defining representations for OData requests and responses using an Atom format.

OData JSON Format version 4.0 extends the former by defining representations for OData requests and responses using a JSON format.

TC Description:

The OASIS OData TC works to simplify the querying and sharing of data across disparate applications and multiple stakeholders for re-use in the enterprise, Cloud, and mobile devices. A REST-based protocol, OData builds on HTTP, AtomPub, and JSON using URIs to address and access data feed resources. It enables information to be accessed from a variety of sources including (but not limited to) relational databases, file systems, content management systems, and traditional Web sites. OData provides a way to break down data silos and increase the shared value of data by creating an ecosystem in which data consumers can interoperate with data producers in a way that is far more powerful than currently possible, enabling more applications to make sense of a broader set of data. Every producer and consumer of data that participates in this ecosystem increases its overall value.

Public Review Period:

The public review starts 03 May 2013 at 00:00 GMT and ends 02 June 2013 at 23:59 GMT.

Practice your reading/proofing skills:

The prose specification document and related files are available here:

– OData Version 4.0

OData Version 4.0 is a multi-part Work Product consisting of:

— OData Version 4.0 Part 1: Protocol.

Editable Source (Authoritative):



— OData Version 4.0 Part 2: URL Conventions.

Editable Source (Authoritative):



— OData Version 4.0 Part 3: Common Schema Definition Language (CSDL).

Editable Source (Authoritative):



— ABNF components – OData ABNF Construction Rules Version 4.0 and OData ABNF Test Cases:

— OData Metadata Service Entity Model:

— Vocabulary components – OData Core Vocabulary and OData Measures Vocabulary:

— XML schemas – OData EDMX XML Schema and OData EDM XML Schema:

– OData Atom Format Version 4.0

Editable Source (Authoritative):



OData Metadata XML Schema:

OData Atom Vocabulary:

– OData JSON Format Version 4.0

Editable Source (Authoritative):



ZIP distribution file (complete):

For your convenience, OASIS provides a complete package of the prose specifications and related files in ZIP distribution files. You can download the ZIP files here:

– OData Version 4.0:

– OData Atom Format Version 4.0:

– OData JSON Format Version 4.0:

Additional information about the specifications and the OASIS Open Data Protocol (OData) TC can be found at the TC’s public home page:

Comments may be submitted to the TC by any person through the use of the OASIS TC Comment Facility by following the instructions located via the button labeled "Send A Comment" at the top of the TC public home, or directly at:

Comments submitted by TC non-members for this work and for other work of this TC are publicly archived and can be viewed at:

All comments submitted to OASIS are subject to the OASIS Feedback License, which ensures that the feedback you provide carries the same obligations at least as the obligations of the TC members. In connection with this public review of "OData, OData Atom Format and OData JSON Format, Versions 4.0", we call your attention to the OASIS IPR Policy [2] applicable especially [3] to the work of this technical committee. All members of the TC should be familiar with this document, which may create obligations regarding the disclosure and availability of a member’s patent, copyright, trademark and license rights that read on an approved OASIS specification.

OASIS invites any persons who know of any such claims to disclose these if they may be essential to the implementation of the above specification, so that notice of them may be posted to the notice page for this TC’s work.

========== Additional references:

[1] OASIS Open Data Protocol (OData) TC


RF on RAND Mode

Don’t comment here!

Comments go to odata-comment.


(Full disclosure: I am a member of the OData TC. Just like you I have a lot of reading ahead of me.)

Open Data Protocol

Thursday, January 31st, 2013

Open Data Protocol

From the webpage:

There is a vast amount of data available today and data is now being collected and stored at a rate never seen before. Much, if not most, of this data however is locked into specific applications or formats and difficult to access or to integrate into new uses.

The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today. OData does this by applying and building upon Web technologies such as HTTP, Atom Publishing Protocol (AtomPub) and JSON to provide access to information from a variety of applications, services, and stores. The protocol emerged from experiences implementing AtomPub clients and servers in a variety of products over the past several years. OData is being used to expose and access information from a variety of sources including, but not limited to, relational databases, file systems, content management systems and traditional Web sites.

OData is consistent with the way the Web works – it makes a deep commitment to URIs for resource identification and commits to an HTTP-based, uniform interface for interacting with those resources (just like the Web). This commitment to core Web principles allows OData to enable a new level of data integration and interoperability across a broad range of clients, servers, services, and tools.

I have mentioned this resource before but it was buried in a post and not a separate post.

The amount of documentation has grown and much improved since then.


Drupal + Azure = OData Repository

Monday, January 21st, 2013

Using Drupal on Windows Azure to create an OData repository by Brian Benz.

From the post:

OData is an easy to use protocol that provides access to any data defined as an OData service provider. Microsoft Open Technologies, Inc., is collaborating with several other organizations and individuals in development of the OData standard in the OASIS OData Technical Committee, and the growing OData ecosystem is enabling a variety of new scenarios to deliver open data for the open web via standardized URI query syntax and semantics. To learn more about OData, including the ecosystem, developer tools, and how you can get involved, see this blog post.

In this post I’ll take you through the steps to set up Drupal on Windows Azure as an OData provider. As you’ll see, this is a great way to get started using both Drupal and OData, as there is no coding required to set this up.

It also won’t cost you any money – currently you can sign up for a 90 day free trial of Windows Azure and install a free Web development tool (Web Matrix) and a free source control tool (Git) on your local machine to make this happen, but that’s all that’s required from a client point of view. We’ll also be using a free tier for the Drupal instance, so you may not need to pay even after the 90 day trial, depending on your needs for bandwidth or storage.

So let’s get started!

Definitely worthwhile to spend some time getting to know the OData specification. It is currently under active development at OASIS.

Doesn’t do everything you might want but tries to do the things everyone needs as a basis for other services.

Thoughts on how to represent “merged” entities in OData subject to the conditions:

  1. Entities and their unique identifiers are not re-written, and
  2. Solution is consistent with the base OData data model?

Thinking back to the original text of ISO/IEC 13250 which required presentation of topic as merged, whether bits moved about to create a “merged” representation or not.

(Disclosure: I am a member of the OData TC.)

Webnodes Semantic Integration Server (SDShare Protocol)

Thursday, November 22nd, 2012

Webnodes AS announces Webnodes Semantic Integration Server by Mike Johnston.

From the post:

Webnodes AS, a company developing a .NET based semantic content management system, today announced the release of a new product called Webnodes Semantic Integration Server.

Webnodes Semantic Integration Server is a standalone product that has two main components: A SPARQL endpoint for traditional semantic use-cases and the full-blown integration server based on the SDShare protocol. SDShare is a new protocol for allowing different software to share and consume data with each other, with minimal amount of setup.

The integration server ships with connectors out of the box for OData- and SPARQL endpoints and any ODBC compatible RDBMS. This means you can integrate many of the software systems on the market with very little work. If you want to support software not compatible with any of the available connectors, you can create custom connectors. In addition to full-blown connectors, the integration server can also push the raw data to another SPARQL endpoint (the internal data format is RDF) or a HTTP endpoint (for example Apache SOLR).

I wonder about the line:

This means you can integrate many of the software systems on the market with very little work.

I think wiring disparate systems together is a better description. To “integrate” systems implies some useful result.

Wiring systems together is a long way from the hard task of semantic mapping, which produces integration of systems.

I first saw this in a tweet by Paul Hermans.

OData Extensions for Data Aggregation

Friday, June 15th, 2012

OData Extensions for Data Aggregation by Chris Webb.

Chris writes:

I was just reading the following blog post on the OASIS OData Technical Committee Call for Participation:

…when I saw this:

In addition to the core OData version 3.0 protocol found here, the Technical Committee will be defining some key extensions in the first version of the OASIS Standard:

OData Extensions for Data Aggregation – Business Intelligence provides the ability to get the right set of aggregated results from large data warehouses. OData Extensions for Analytics enable OData to support Business Intelligence by allowing services to model data analytic “cubes” (dimensions, hierarchies, measures) and consumers to query aggregated data

Follow the link in the quoted text – it’s very interesting reading! Here’s just one juicy quote:

You have to go to Chris’ post to see the “juicy quote.” 😉

With more data becoming available, at higher speeds, data aggregation is going to be the norm.

Some people will do it well. Some people will do it not so well.

Which one will describe you?

Participation in the OData TC at OASIS may help shape that answer:

First meeting details:

The first meeting of the Technical Committee will be a face-to-face meeting to be held in Redmond, Washington on July 26-27, 2012 from 9 AM PT to 5 PM PT. This meeting will be sponsored by Microsoft. Dial-in conference calling bridge numbers will be available for those unable to attend in person.

At least the meeting is on a Thursday/Friday slot! Any comments on the weather to expect in late July?


Thursday, June 14th, 2012

TM2O – Topic Maps 2 OData Transformation

From the webpage:

TM2O is a generic tool to provide information stored within a topic map as an OData service. This OData services uses majortom as local topic maps backend or a remote majortom server. The implementation bases on odata4j and heavily uses the TMQL engine TMQL4J.

Getting started

We have prepared a getting started guideline for you. Here you will learn to set-up the TM2O service, and to create and use OData service out of your topic maps.

Stop me if I get off into the ditch but as interesting as this sounds, isn’t that going in the wrong direction?

Going in the opposite direction, an OData -> TM tool that views content served as OData as topics, associations, etc., would be more interesting. You can hang more information off subjects and relationships in a topic map, which is a form of value-add.

If nothing else, just think about the amount of content available as topic maps versus available as OData.

Do I need to say more?

OData submitted to OASIS for standardization

Friday, May 25th, 2012

OData submitted to OASIS for standardization by Doug Mahugh.

From the post:

Citrix, IBM, Microsoft, Progress Software, SAP AG, and WSO2 have submitted a proposal to OASIS to begin the formal standardization process for OData. You can find all the details here, and OData architect Pablo Castro also provides some context for this announcement over on the blog. It’s an exciting time for the OData community!

OData is a REST-based web protocol for querying and updating data, and it’s built on standardized technologies such as HTTP, Atom/XML, and JSON. If you’re not already familiar with OData, the web site is the best place to learn more.

It’s nice to see all the usual suspects lined up in favor of the same data query/update standard!

Not that it solves all the problems, there are still questions of semantics, to say nothing of a lot of details to be worked out along the way.

My suggestion would be that you drop by OASIS, which qualifies as one of the “best buys” in standards land to see what role you want to take in the OData standardization process.

(Full disclosure: I am a long term member of OASIS and a member of Technical Advisory Board (TAB).)

Using the DataJS Library for Data-Centric JavaScript Web Applications

Friday, March 16th, 2012

Using the DataJS Library for Data-Centric JavaScript Web Applications.

Brian Rinaldi writes:

I recently attended the HTML5 Summit in Miami Beach where one of the speakers was David Zhang of Microsoft speaking about the DataJS library created by Microsoft for building data-centric web applications. The DataJS library can make it easy to integrate services into your application and add features like pre-fetching, paging and caching in local storage, including support for IndexedDB. The project sounded interesting so I made a note to try it out and finally got around to it. Here’s an overview.

From the DataJS project page:

datajs is a new cross-browser JavaScript library that enables data-centric web applications by leveraging modern protocols such as JSON and OData and HTML5-enabled browser features. It’s designed to be small, fast and easy to use.

Are you delivering your next topic map to a web browser or a standalone app?

Open Source OData Tools for MySQL and PHP Developers

Tuesday, February 14th, 2012

Open Source OData Tools for MySQL and PHP Developers by Doug Mahugh.

To enable more interoperability scenarios, Microsoft has released today two open source tools that provide support for the Open Data Protocol (OData) for PHP and MySQL developers working on any platform.

The growing popularity of OData is creating new opportunities for developers working with a wide variety of platforms and languages. An ever increasing number of data sources are being exposed as OData producers, and a variety of OData consumers can be used to query these data sources via OData’s simple REST API.

In this post, we’ll take a look at the latest releases of two open source tools that help PHP developers implement OData producer support quickly and easily on Windows and Linux platforms:

  • The OData Producer Library for PHP, an open source server library that helps PHP developers expose data sources for querying via OData. (This is essentially a PHP port of certain aspects of the OData functionality found in System.Data.Services.)
  • The OData Connector for MySQL, an open source command-line tool that generates an implementation of the OData Producer Library for PHP from a specified MySQL database.

These tools are written in platform-agnostic PHP, with no dependencies on .NET.

This is way cool!

Seriously consider Doug’s request for what other tools you would like to see for OData?