Hi Yaron,
thank you for you comments,
what the extension does is not integration, that is true, but I think that later it will allow for data integration, therefore I chose this name. However I am open for other suggestions. For me this extension is the first mediator introduced to SMW. Build upon mediators I imagine aggregators that combine results delivered by mediators. An aggregator could then provide a view over several data sources while writing the query statement remains beeing very simple. Only the source parameter would have to be added for the user who queries this view. Aggregators would somehow use mediators to retrieve results from expert sources and then combine the result objects [1]. It is possible that aggregators may reside outside an SMW. For example a mediator could be created that communicates with a semantic web pipe.
> It seems like a nice way to take advantage of SMW's built-in querying and data-display system
Indeed I had to touch little of existing code to switch the query source depending on the value of the source-parameter. After querying freebase an object of class SMWQueryResult is returned. Therefore it can be handled by the result printers as if being created using local data.
> maybe it could be expanded to handle, say, SPARQL queries as well
Yes, my idea was to enable mediation that later enables aggregation. Therefore I had to choose one external data source to find out the requirements to be able to specify an interface for mediators. I chose freebase because the structure (MQL) is very interesting, because freebase stores a great diversity of data, and I thought (and still think) that it is complex enough to catch most of the requirements.
> the Semantic Google Maps extension you're using on the test wiki has already been replaced, by Maps and Semantic Maps
Ok, I can change this in the demo wiki. However my code does not depend on that extension.
Best regards, Basil
[1] Using the SMWQueryResult objects is insufficient because in these objects it can't be stored from which source a value has been retrieved or which sources have been combined to calculate a value.
----- Original Message -----
From: Yaron Koren
To: Basil Ell
Cc: Semantic MediaWiki Developers List
Sent: Friday, August 14, 2009 6:30 AM
Subject: Re: [SMW-devel] Extension: FreebaseIntegration

Hi Basil,

This is quite interesting. It seems like a nice way to take advantage of SMW's built-in querying and data-display system, and if it works out well, maybe it could be expanded to handle, say, SPARQL queries as well. (I'm sure you've that of that one already.) One quibble is I have is with the name of the extension, which I believe is "FreebaseIntegration".  Leaving aside the CamelCase aspect of it (I prefer having spaces between words), I don't know if the word "integration" applies here. To me, integration means that you can use more than one set of data together, running queries that combine data from Freebase and the local wiki, for instance. That doesn't seem to be the case here - you can display data from Freebase, but you can't use it in conjunction with SMW data or anything else. I believe that's the case too with the Sparqling extension, and it's an unfortunate limitation... though I can't think of any way around it. Or is this something you're thinking about adding?

Also, one minor point: the Semantic Google Maps extension you're using on the test wiki has already been replaced, by Maps and Semantic Maps.


On Thu, Aug 13, 2009 at 6:43 AM, Basil Ell <b_ell@gmx.de> wrote:
first let me briefly introduce myself: My name is Basil Ell and I am currently working for my master thesis at AIFB Karlsruhe – supervised by Denny Vrandecic.
As a part of my work I created an extension to be used together with SMW that let's you query freebase [1] using conventional askQL queries. Querying freebase is easily achieved by simply adding the parameter source=freebase:
 {{#ask: [[Category:City]] [[located in::Germany]]
  | ?population
  | source=freebase
Or you can even query for cities and their population in 독일 (Dogil), the Korean name of Germany:
 {{#ask: [[Category:City]] [[located in::독일]]
  | ?population
  | source=freebase
  | language=/lang/ko

I strive in making data integration as easy as possible. The main idea is, that the information necessary for mapping between askQL and MQL is separated from the integration statement - the askQL query. Therefore this information is stored on pages in main namespace, category namespace, and property namespace. Users that are experienced with freebase can add mapping information to an SMW and all users benefit from the increasing mapping possibilities.
For the example above the page Category:City stores that this category maps to "/location/citytown", the page Property:located in stores that this property maps to "/location/location/containedby" and the page Property:Population stores that this print request maps to "/location/statistical_region/population;number" and is of numerical type.
I set up a demo wiki [2] where you find documentation and examples, observe the current state of my work in progress, and experience current possibilities and limitations.
A blog [3] is available where I plan to report on further development and releases.
I am looking forward to your opinions.
Best regards,

Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
Semediawiki-devel mailing list