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

Reply via email to