3 Mayıs 2013 Cuma

dbpedia vs freebase

For my thesis project, i need a programmatically easy-to-use, powerful dictionary.. Therefore, i made (collected actually) a list of items that compares Freebase (http://www.freebase.com/) and Dbpedia (http://dbpedia.org/About).

  • Dbpedia in general is more accurate as it directly rips off stuff from Wikipedia.  Freebase has a longer tail, since it collects info not just from Wikipedia, but also various other data sources.
  • Both extract structured data from Wikipedia and make it available as RDF.
    • Different schemas, identifiers, goals 
      • Dbpedia -> stores its data as RDF tuples
      • Freebase -> n-tuples
      • Dbpedia -> data is automatically generated from Wikipedia several times a year
      • Freebase -> data is automatically imported into Freebase after two weeks
      • Dbpedia -> query via a SPARQL endpoint
      • Freebase -> query via an MQL (Metaweb Query Language) API 
    • Differences in
      • Range of data sources
        • Dbpedia -> focuses on just Wikipedia data
        • Freebase -> import data from a wide variety of sources
      • Ability to edit content
        • Dbpedia -> requires that you edit Wikipedia for the change to appear in Dbpedia
        • Freebase -> user-editable, contributions can be made via a public interface
      • Structure of organizations
        • Dbpedia -> funded by various organizations
        • Freebase -> funded by Google
Through the common link of Wikipedia, it is possible to link some Freebase topics to Dbpedia resources.
(in Freebase RDF output OWL:SameAs points to Dbpedia) Example: http://dbpedia.org/page/Tetris

Freebase -> open, Creative Commons licenced, graph database

An entity is a single person, place or thing. Freebase connects entities together as a graph. 

Freebase API:
  • a collection of HTTP API's providing read & write access to data stored in Freebase.
  • different API's support different use cases.
  • SEARCH API -> returns Freebase data given a free text user query.
  • MQL Services (mqlread & mqlwrite) allow performing structured queries on Freebase using MQL. (This is the most common way to access graph data and to ask questions)
  • TEXT Service -> takes an ID of a topic, returns its description
  • IMAGE Service -> takes an ID, returns an image
  • need to obtain an API Key - unique key generated using the console (on Google account, API console, create project)
    • The project passes key (key=(API_KEY))
  • Limit -> read quota of 100k per day, write 10k.
    • for higer quota, do request more on google
    • quotas on sandbox are more, but sandbox is erased every sunday!
    • data dumps may be used locally for more limit (the size is 14 GB as i remember)
  • depends on Google API client libraries
API Services:
  • Search -> find entities by keyword search
  • MQL Read -> retrieve detailed structured data about entities or collections of entities
  • Topic API -> get a summary of all the info for an entity
  • RDF API ->  get a summary of all the info for an entity in RDF
  • Text Service -> get short textual descriptions for entities
  • Image Service -> get repr. thumbnails for entities
  • Freebase Suggest -> UI Widget picking entities
URI pattern for an API call:
GET https://www.googleapis.com/freebase/<version>/<apiname>[<path>]? [<urlparams>]

if request query is too long, params should be passed via POST.

but X-HTTP-Method-Override: GET header must be added to request.
version is v1 for production, v1sandbox for sandbox environment (experimental)

callback -> url param will return a json structure enclosed in a javascript function call as an argument to the function (supports JSONP pattern)

Freebase API Sample Code Generator (http://codify.freebaseapps.com/) -> strongly recommend to try this!

Hiç yorum yok:

Yorum Gönder