Sunday, November 29, 2015

Windows 10 += SQLite

Another Open Source tool now part of Windows 10.
SQLite is also part of iOS and Android.

Shipping a New Mindset with SQLite in Windows 10 | Engineering @ Microsoft
"How do you ship over 200 Data Access APIs that work across half a dozen different types of devices and have a 100% test coverage, but with only a couple of days of engineering effort? It’s simple, you ship SQLite. Over the last year, Windows engineers have worked closely with the amazing SQLite Core Development team led by Richard Hipp to bring SQLite, the popular open source database engine, to Windows 10."
v2-Win10-image2

SharePoint REST API & Languages

SharePoint 2013 REST API reference and samples

SharePoint Search REST API overview
Search in SharePoint 2013 includes a Search REST service you can use to add search functionality to your client and mobile applications by using any technology that supports REST web requests. You can use the Search REST service to submit Keyword Query Language (KQL) or FAST Query Language (FQL) queries in your SharePoint Add-ins, remote client applications, mobile applications, and other applications.

Query the Office Graph using GQL and SharePoint Online Search REST APIs
"Graph Query Language (GQL) is a preliminary query language designed to query the Office Graph via the SharePoint Online Search REST API. By using GQL, you can query the Office Graph to get items for an actor that satisfies a particular filter."
SharePoint is not (yet) part of "Microsoft Graph" Office APIs

Microsoft Graph - Documentation - overview
"Microsoft Graph (previously called Office 365 unified API) exposes multiple APIs from Microsoft cloud services through a single REST API endpoint (https://graph.microsoft.com)."


This is an interesting approach in design of "API" / services,
where HTTP REST is used as a "transport",
and actual syntax is defined by a text based "Domain Specific Language",
in this case called "Query Languages".

Unfortunately, both typical JSON based REST communication and "Query Language" messages
and custom / proprietary... With simple JSON messages (or even XML) there is a possibility of "mapping", but it is always custom.

Imagine if there was a custom human language for any type of interaction,
without common base vocabulary and grammar: then would need to learn a new language
to go grocery shopping, to visit a dentist, a new language for each office...
An obvious solution is a common "base API language" ("Ontology") and extensions.
As usual, the term "Semantic API" is already used... for a similar but different thing...

Times Developer Network - The Semantic API

"The Semantic API complements the Articles API. With the Semantic API, you get access to the long list of people, places, organizations and other locations, entities and descriptors that make up the controlled vocabulary used as metadata by The New York Times (sometimes referred to as Times Tags and used for Times Topics pages)"