Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Difference between rdf, odata and gdata
1. Difference between RDF, OData and GData
RDF OData GData
Abbreviation: Abbreviation: Abbreviation:
RDF stands for Resource OData stands for Open Data GData stands for Google
Description Framework Protocol Data Protocol
Meaning: Meaning: Meaning:
RDF is a framework which The Open Data Protocol Gdata provides a simple
follows W3C technology for (OData) is an open web protocol for reading and
representing information in protocol for querying and writing data on the Internet,
the Web. updating data. The protocol designed by Google. GData
allows for a consumer to combines common XML-
The design of RDF is query a datasource over the based syndication formats
intended to meet the HTTP protocol and get the (Atom and RSS) with a feed-
following goals: result back in formats like publishing system based on
Atom, JSON or plain XML, the Atom Publishing
i.having a simple data including pagination, Protocol, plus some
model ordering or filtering of the extensions for handling
ii.having formal semantics data. queries. It relies on XML or
and provable inference JSON as a data format.
iii.using an extensible URI- Many of the building blocks
based vocabulary that make up OData are Google provides GData
iv.using an XML-based standardized via Atom and client libraries for Java,
syntax AtomPub. The OData JavaScript, .NET, PHP,
v.supporting use of XML specification is available Python, and Objective-C.
schema datatypes under the Microsoft Open
vi.allowing anyone to make Specification Promise (OSP).
statements about any resource Microsoft has released an
OData software development
It is used in Mozilla to kit (SDK) consisting of
integrate and aggregate libraries for .NET, PHP,
Internet resources. Java, JavaScript, webOS,
and the iPhone.
Mozilla RDF was originally
used to support the
Aurora/Sidebar user interface
and SmartBrowsing metadata
services. It's main use in
Mozilla now is as a common
data model and API for use in
XUL-based applications
Logical Model: Logical Model: Logical Model:
Graph/EAV.Technology Graph/EAV. AtomPub and Unclear/Mixed – whatever
grounding (esp OWL ) in EDM grounding in entity google logical Model is
Description Logic.[12, 13]. relationship modelling [11]. behind services, but
“Open World Assumption” “Closed World transcoded and exposed as
[27] Assumption”[28] view (?) AtomPub/JSON. Data
but with “OpenTypes” and relations and graphs not
“Dynamic Properties”[29] controllable by API – eg
2. cannot define a link between
data elements that doesnt
already exist. GData is
primarily a client API.
Physical model: Physical model: Physical model:
Not mandated, but probably Not mandated, but probably Google applications and
backed by a triple store and backed by existing RDBMS services publishing data in
serialised over Http to persistence [4 - "Abstract AtomPub/JSON format, with
RDF/XML, Json,TTL, N3 or Data Model"], or more Google Data Namespace[58]
other format. RDBMS precisely a non-triple store. element.
backing or proxying possible. (I have no evidence to
support this, but the gist of
docs and examples suggests
it as a typical use case) and
serialised over Http with
Atom/JSON according to
Entity Data Model (EDM)[6]
and Conceptual Schema
Definition Language (CSDL)
[11]
Intent: Intent: Intent:
Data syndication and web Data publishing and Google cloud data
level linking : "The goal of syndication : "There is a vast publishing [55] : "The
the W3C SWEO Linking amount of data available Google Data Protocol
Open Data community today and data is now being provides a secure means for
project is to extend the Web collected and stored at a rate external developers to write
with a data commons by never seen before. Much, if new applications that let end
publishing various open data not most, of this data users access and update the
sets as RDF on the Web and however is locked into data stored by many Google
by setting RDF links between specific applications or products.External developers
data items from different data formats and difficult to can use the Google Data
sources" access or to integrate into Protocol directly, or they can
new uses" use any of the supported
programming languages
provided by the client
libraries"
Protocol,operations: Protocol,operations: Protocol,operations:
http, content negotiation, http, content negotiation, http,REST (PUT/POST?
RDF, REST-GET. Sparql 1.1 AtomPub/JSON, REST- GET/PATCH/DELETE)[56]
for update GET/PUT/POST/DELETE
[9]
Openness/Extensibility: Openness/Extensibility: Openness/Extensibility:
Any and all,create your own Any and all (with a “legacy” Google applications and
ontology/namespace/URIs Microsoft base), while reuse services only.
with RDFS/OWL/SKOS/…, Microsoft classes and
large opensource tooling & types,namespaces (EDM)[6]
community, multiple with Atom/JSON
serialisation serialisation. Large microsoft
3. RDF/XML,JSON, N3, TTL, tooling and integration with
… others following.[7,8]
URI minting,dereferencing : URI URI minting,dereferencing
Create your own URIs and minting,dereferencing : :
namespaces following Unclear whether concept Atom namespace. <link
guidelines (“slash vs hash”) URI and Location URI are rel=”self”
[15,16] Subject, predicate and distinguished in specification …/> denotes URI
object URIs must be -values can certainly be of item. ETags also used for
dereferencible, content Location URIs, and IDs can versioned updates. Google
negotiation expected. be URIs, but attribute Data namespace for content
Separation of concept URI properties aren’t “Kinds”.[59],
and location URI central. dereferencible to Location no dereferencing.
URIs.Well specified URI
conventions [21]
Linking, matching, Linking,matching, Linking,matching,
equivalence: equivalence: equivalence:
External entities can Navigation properties link URIS Not dereferencable,
inherently be directly linked entity elements within a linkage outside of google not
by reference, and equivalence single OData materialisation possible.
is possible with owl:sameAs, -external linkage not
owl:seeAlso (and other possible. Dereferencable
equivalence assertions) attribute properties not
possible but proposed[10].
Namespace handling, Namespace handling, Namespace handling,
vocabularies: vocabularies: vocabularies:
Declare namespaces as Namespaces supported in AtomPub and Google Data
required when importing EDM but unclear if possible namespace only.
public or “well known” to create and use
ontologies/vocabularies, namespace,or if it can be
creating SPARQL queries, backed with a custom
short hand URIs,create new class/property definition
as required for your own (ontology). $metadata seems
custom classes, instances. to separate logically and
physically type and service
metadata from instance data
– ie oData doesn’t “eat its
own dog food”.
Content negotiation: Content negotiation: Content negotiation:
Client and server negotiate Client specifies or server Use alt query param (accept-
content to best determination. fails, or default to Atom header not used)[57]
[17,18] representation.[19]. Only
XML serialisation for service
metadata.[40]. New mime-
types introduced.
Query capability : Query capability : Query capability :
Dereferencibility central Proposed dereferencible Query by
4. principle to linked data, URIs with special $metadata author,category,fields.
whether in document, local path element allow type
endpoint or federated. metadata to be retrieved [10].
SPARQL [14] query language Running a structured query
allows suitably equipped against an OData service
endpoints to service with something like
structured query requests and SPARQL isn’t possible.
return serialised RDF, json,
csv, html, …
Security, privacy, Security, privacy, Security, privacy,
provenance: provenance: provenance:
No additional specifications No additional specifications Http wire protocols, but in
above that supplied in above that mandated in addition authentication
web/http architecture. CORS http/atom/json.[23, 31] (OpenID) and authorization
becoming popular as access CORS use possible for cross are required(OAuth).
filter method for cross-site site syndication. “ClientLogin”
syndication capability at Dallas/Azure Datamarket for ; and AuthSub are
client level. Server side “trusted commercial and deprecated. [60]. No
access control. Standards for premium public domain provenance handling.
Provenance and privacy data”.[26]
planned and under
development[24]. W3C XG
provenance group[25]
Sources:
http://uoccou.wordpress.com/2011/02/17/linked-data-odata-gdata-datarss-comparison-matrix/
http://en.wikipedia.org/wiki/Open_Data_Protocol
http://en.wikipedia.org/wiki/GData
http://en.wikipedia.org/wiki/Resource_Description_Framework
http://www.w3.org/TR/2003/PR-rdf-concepts-20031215/
References:
[1] http://www.w3.org/wiki/SweoIG/TaskForces/CommunityProjects/LinkingOpenData
[2] http://www.w3.org/DesignIssues/LinkedData.html
[3] http://www.w3.org/TR/webarch
[4] http://www.microsoft.com/interop/osp/default.mspx
[5] http://www.w3.org/QA/2010/03/microsoft_bring_odata_to_a_w3c.html
[6] http://www.odata.org/developers/protocols/overview#EntityDataModel
[7] http://www.odata.org/producers
[8] http://www.odata.org/consumers
[9] http://www.odata.org/developers/protocols/operations