> What would be nice is to have an abstraction like mongoTalk on top to avoid 
> to manipulate strings but to manipulate query elements.

That is a nice idea.

Alexandre

> 
> 
>> 
>> 
>> 
>> 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
> 
> _______________________________________________
> Moose-dev mailing list
> [email protected]
> https://www.iam.unibe.ch/mailman/listinfo/moose-dev

-- 
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel  http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.




Reply via email to