Difference between rdf, odata and gdata

Click here to load reader

description

Difference between RDF, OData and GData

Transcript of Difference between rdf, odata and gdata

  • 1. Difference between RDF, OData and GDataRDF OData GDataAbbreviation: Abbreviation:Abbreviation:RDF stands for Resource OData stands for Open Data GData stands for GoogleDescription Framework Protocol Data ProtocolMeaning:Meaning:Meaning:RDF is a framework whichThe Open Data ProtocolGdata provides a simplefollows W3C technology for(OData) is an open webprotocol for reading andrepresenting information in protocol for querying and writing data on the Internet,the Web.updating data. The protocol designed by Google. GDataallows for a consumer tocombines common XML-The design of RDF isquery a datasource over the based syndication formatsintended to meet theHTTP protocol and get the (Atom and RSS) with a feed-following goals:result back in formats like publishing system based onAtom, JSON or plain XML,the Atom Publishing i.having a simple data including pagination, Protocol, plussomemodel ordering or filtering of theextensions for handling ii.having formal semantics data. queries. It relies on XML orand provable inferenceJSON as a data format. iii.using an extensible URI- Many of the building blocksbased vocabularythat make up OData areGoogle provides GData iv.using an XML-basedstandardized via Atom and client libraries for Java,syntaxAtomPub. The ODataJavaScript, .NET, PHP, v.supporting use of XMLspecification is availablePython, and Objective-C.schema datatypesunder the Microsoft Open vi.allowing anyone to make Specification Promise (OSP).statements about any resource Microsoft has released anOData software developmentIt is used in Mozilla tokit (SDK) consisting ofintegrate and aggregate libraries for .NET, PHP,Internet resources. Java, JavaScript, webOS,and the iPhone.Mozilla RDF was originallyused to support theAurora/Sidebar user interfaceand SmartBrowsing metadataservices. Its main use inMozilla now is as a commondata model and API for use inXUL-based applicationsLogical Model:Logical Model:Logical Model:Graph/EAV.TechnologyGraph/EAV. AtomPub andUnclear/Mixed whatevergrounding (esp OWL ) in EDM grounding in entity google logical Model isDescription Logic.[12, 13]. relationship modelling [11].behindservices,butOpen World Assumption Closed World transcoded and exposed as[27]Assumption[28] view (?)AtomPub/JSON. Databut with OpenTypes andrelations and graphs notDynamic Properties[29]controllable by API eg

2. cannot define a link betweendata elements that doesntalready exist. GData isprimarily a client API.Physical model:Physical model:Physical model:Not mandated, but probably Not mandated, but probably Google applications andbacked by a triple store and backed by existing RDBMS services publishing data inserialised over Http topersistence [4 - "Abstract AtomPub/JSON format, withRDF/XML, Json,TTL, N3 or Data Model"], or moreGoogle Data Namespace[58]other format. RDBMSprecisely 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 DatapublishingandGoogle clouddatalevel linking : "The goal of syndication : "There is a vast publishing [55] : "Thethe W3C SWEO Linking amount of data available GoogleDataProtocolOpen Data communitytoday and data is now beingprovides a secure means forproject is to extend the Web collected and stored at a rate external developers to writewith a data commons by never seen before. Much, ifnew applications that let endpublishing various open data not most, of this data users access and update thesets as RDF on the Web and however is locked into data stored by many Googleby setting RDF links between specificapplicationsor products.External developersdata items from different data formats and difficult to can use the Google Datasources" access or to integrate intoProtocol directly, or they can new uses"use any of the supportedprogramming languagesprovided by the clientlibraries"Protocol,operations: Protocol,operations: Protocol,operations:http, content negotiation, http, content negotiation, http,REST (PUT/POST?RDF, REST-GET. Sparql 1.1AtomPub/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 andontology/namespace/URIsMicrosoft base), while reuse services only.with RDFS/OWL/SKOS/,Microsoft classes andlarge opensource tooling & types,namespaces (EDM)[6]community, multiplewith Atom/JSONserialisationserialisation. Large microsoft 3. RDF/XML,JSON, N3, TTL, tooling and integration withothers following.[7,8]URI minting,dereferencing :URIURI minting,dereferencingCreate your own URIs and minting,dereferencing ::namespaces following Unclear whether conceptAtom namespace. denotes URIobject URIs must be-values can certainly be of item. ETags also used fordereferencible, contentLocation URIs, and IDs can versioned updates. Googlenegotiation expected.be URIs, but attribute Data namespace for contentSeparation of concept URIpropertiesarent 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 canNavigation properties link URIS Not dereferencable,inherently be directly linkedentity elements within a linkage outside of google notby reference, and equivalencesingle OData materialisation possible.is possible with owl:sameAs, -external linkage notowl:seeAlso (and other possible.Dereferencableequivalence assertions)attributeproperties not possible but proposed[10].Namespace handling,Namespace handling,Namespace handling,vocabularies:vocabularies:vocabularies:Declare namespaces asNamespaces supported inAtomPub and Google Datarequired when importingEDM but unclear if possiblenamespace only.public or well known to create anduseontologies/vocabularies, namespace,or if it can becreating SPARQL queries, backed with a customshort hand URIs,create new class/propertydefinitionas required for your own (ontology). $metadata seemscustom classes, instances. to separate logically and physically type and service metadata from instance data ie oData doesnt eat its own dog food.Content negotiation: Content negotiation:Content negotiation:Client and server negotiateClient 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 centralProposed dereferencible Queryby 4. principle to linked data,URIs with special $metadata author,category,fields.whether in document, local path element allow typeendpoint or federated. metadata to be retrieved [10].SPARQL [14] query language Running a structured queryallows suitably equipped against an OData serviceendpoints to service with somethinglikestructured query requests andSPARQL isnt possible.return serialised RDF, json,csv, html, Security, privacy, Security, privacy,Security,privacy,provenance:provenance: provenance:No additional specifications No additional specificationsHttp wire protocols, but inabove that supplied in above that mandated inaddition authenticationweb/http architecture. CORShttp/atom/json.[23, 31] (OpenID) and authorizationbecoming popular as access CORS use possible for cross are required(OAuth).filter method for cross-site site syndication. ClientLoginsyndication capability atDallas/Azure Datamarket for ;and AuthSubareclient level. Server sidetrusted commercial and deprecated. [60]. Noaccess control. Standards forpremium public domain provenance handling.Provenance and privacy data.[26]planned and underdevelopment[24]. W3C XGprovenance group[25]Sources:http://uoccou.wordpress.com/2011/02/17/linked-data-odata-gdata-datarss-comparison-matrix/http://en.wikipedia.org/wiki/Open_Data_Protocolhttp://en.wikipedia.org/wiki/GDatahttp://en.wikipedia.org/wiki/Resource_Description_Frameworkhttp://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 5. [10] http://www.odata.org/blog/2010/4/22/queryable-odata-metadata[11] http://www.odata.org/media/16348/%5Bmc-csdl%5D.pdf[12] http://www.w3.org/TR/2009/REC-owl2-direct-semantics-20091027/[13] http://en.wikipedia.org/wiki/Description_logic[14] http://www.w3.org/TR/rdf-sparql-query/[15] http://www.w3.org/TR/cooluris/[16] http://www.w3.org/wiki/DereferenceURI[17] http://www.w3.org/TR/webarch/#def-coneg[18] http://www.w3.org/TR/cooluris/#implementation[19]http://www.odata.org/developers/protocols/operations#RepresentationFormatsAndContentTypeNegotiation[20] http://www.odata.org/developers/protocols/batch[21] http://www.odata.org/developers/protocols/uri-conventions[22] http://code.google.com/p/void-impl/[23] http://www.odata.org/developers/protocols/overview#SecurityConsiderations[24] http://lod2.eu/Welcome.html[25] http://www.w3.org/2005/Incubator/prov/wiki/Relevant_Technologies[26] https://datamarket.azure.com/[27] http://en.wikipedia.org/wiki/Open_world_assumption[28] http://en.wikipedia.org/wiki/Closed_world_assumption[29] http://www.odata.org/media/16343/%5Bmc-edmx%5D.pdf[30] http://www.odata.org/developers/protocols/operations#InvokingServiceOperations[31] http://blogs.msdn.com/astoriateam/archive/2010/05/10/odata-and-authentication-part-1.aspx[32] http://www.odata.org/developers/protocols/overview#ServiceMetadataDocument[33] http://www.odata.org/developers/protocols/overview#ProtocolVersioning[34] http://www.odata.org/developers/protocols/overview#AbstractTypeSystem[35] http://www.w3.org/TR/xmlschema-2[36] http://ckan.net/[37] http://www.w3.org/wiki/SemanticWebTools#head-805c63479c854babe4657d5184de605910f6d3e2[38] http://www.w3.org/2001/sw/[39] http://www.odata.org/developers/articles[40] http://www.odata.org/developers/protocols/operations#Retrievingthemetadatadocument[41]http://www.odata.org/blog/2010/8/6/enhancing-odata-support-for-querying-derived-typesrevisited[42] http://www.w3.org/TR/2009/WD-sparql11-update-20091022/ 6. [43] http://www.swsi.org/[44] http://www.w3.org/Submission/OWL-S/[45] http://www.serviceweb30.eu/cms/[46] http://www.w3.org/Submission/WSDL-S/[47] http://webofdata.wordpress.com/2010/04/14/oh-it-is-data-on-the-web/[48] http://blog.jonudell.net/2010/01/29/odata-for-collaborative-sense-making/[49] http://www.powerpivot.com/[50] http://sqlblog.com/blogs/jamie_thomson/archive/2010/02/03/microsoft-odata-and-rdf.aspx[51] http://www.wsmo.org/[52] http://void.rkbexplorer.com/[53] http://www.alphaworks.ibm.com/tech/wssem[54] http://rapporter.ffi.no/rapporter/2010/00015.pdf[55] http://code.google.com/intl/en/apis/gdata/docs/directory.html[56] http://code.google.com/intl/en/apis/gdata/docs/2.0/basics.html[57] http://code.google.com/intl/en/apis/gdata/docs/2.0/reference.html#QueryRequests[58] http://schemas.google.com/g/2005[59] http://code.google.com/intl/en/apis/gdata/docs/2.0/elements.html[60] http://code.google.com/intl/en/apis/gdata/docs/auth/overview.htmlAnd, further updates on difference between questions and answers, please visit my blog @http://onlydifferencefaqs.blogspot.in/