+1

Doru


On Mon, Mar 3, 2014 at 7:30 AM, Pharo4Stef <[email protected]> wrote:

> What would be nice is to have an abstraction like mongoTalk on top to
> avoid to manipulate strings but to manipulate query elements.
>
> Stef
>
>
>
>
>
> 2014-03-02 21:22 GMT-03:00 Alexandre Bergel <[email protected]>:
>
>> I've just tried and it works pretty well! Impressive!
>>
>> Below I describe a small example that fetches some data about the US
>> Universities from DBPedia and visualize them using Roassal2.
>>
>> Pick a fresh 3.0 image.
>>
>> First, you need to load Hernán work, Sven's NeoJSON, and Roassal 2 (If
>> you are using a Moose Image, there is no need to load Roassal2 since it is
>> already in):
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> Gofer it
>>   smalltalkhubUser: 'SvenVanCaekenberghe' project:  'Neo';
>>   package:  'ConfigurationOfNeoJSON';
>>   load.
>> ((Smalltalk at: #ConfigurationOfNeoJSON) load).
>>
>> Gofer it
>>   smalltalkhubUser: 'hernan' project: 'DBPedia';
>>   package: 'DBPedia';
>>   load.
>>
>> Gofer it
>>   smalltalkhubUser: 'ObjectProfile' project:  'Roassal2';
>>   package:  'ConfigurationOfRoassal2';
>>   load.
>> ((Smalltalk at: #ConfigurationOfRoassal2) loadBleedingEdge).
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>
>> Using Roassal2, I was able to render some data extracted from dbpedia:
>>
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>> | map locations rawData rawData2 rawData3 |
>> map := RTMapBuilder new.
>>
>> map countries: #('UnitedStates' 'Canada' 'Mexico').
>> map color: Color veryVeryLightGray.
>>
>> rawData := DBPediaSearch universitiesInUS.
>> rawData2 := ((NeoJSONReader fromString: rawData) at: #results) at:
>> #bindings.
>> rawData3 := rawData2 select: [ :d | d keys includesAll: #('label' 'long'
>> 'lat') ] thenCollect: [ :d | { (Float readFrom: ((d at: 'long') at:
>> 'value')) . (Float readFrom: ((d at: 'lat') at: 'value')) . (d at: 'label'
>> ) at: 'value' } ].
>>
>>
>> locations := rawData3.
>> locations do: [ :array |
>> map cities addCityNamed: array third location: array second @ array first
>> ].
>> map cities shape size: 8; color: (Color blue alpha: 0.03).
>> map cities: (locations collect: #third).
>>
>> map scale: 2.
>>
>> map render.
>> map view openInWindowSized: 1000 @ 500.
>> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
>>
>> This is what you get:
>>
>> <Screen Shot 2014-03-02 at 9.09.57 PM.png>
>>
>> This is a small example. Naturally, adding popup for locations is trivial
>> to add.
>>
>> I have described this on our Facebook page:
>>
>> https://www.facebook.com/ObjectProfile/photos/a.341189379300999.82969.340543479365589/596623173757617/?type=1&theater
>>
>>
> Super cool!! Thanks for sharing the nice mapping.
>
> Hernán, since SPARQL is a bit obscure,
>>
>
> Absolutely, SPARQL is like the Assembler of the web.
>
>
>> it would be great if you could add some more example, and also, how to
>> parametrize the examples. For example, now we can get data for the US, how
>> to modify your example to get them for France or Chile?
>>
>>
> Ok, uploaded an updated version. I have parametrized the query triplets as
> #universitiesIn: englishCountryName,
>
> DBPediaSearch universitiesIn: 'France'.
> DBPediaSearch universitiesIn: 'Chile'.
>
> I have to admit I am still learning SPARQL, but the more queries I
> execute, the more I discover linked data structure, so I will add
> convenience methods for easy parsing results.
>
> Cheers,
>
> Hernán
>
>
>
> _______________________________________________
> Moose-dev mailing list
> [email protected]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev
>
>
>


-- 
www.tudorgirba.com

"Every thing has its own flow"

Reply via email to