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
