Rickard Öberg commented on QI-121:
----------------------------------
It might be better to integrate Davids new creation, Parallax:
http://mqlx.com/~david/parallax/
Code is here:
http://code.google.com/p/freebase-parallax/
Check out the screencast for demo! I want that for objects...
According to David(email):
"
A few other people are also interested in porting Parallax over on Sesame. They include Mark Diggory from MIT Libraries / DSpace, with whom you might want to join forces. I personally would also like the UI ideas in Parallax to proliferate, for selfish reasons, and wouldn't mind being involved peripherally if you decide to do the porting.
The Parallax code base right now is open sourced as you might already know
http://code.google.com/p/freebase-parallax/
It is a relatively thin layer of Javascript that queries freebase.com over JSONP. Much of Parallax is quite specific to Freebase. The way it goes about suggesting facets and connections, the way it lists properties for you to pick, the way it presents individual entries, etc. are all Freebase specific.
However, the pivoting functionality is actually very simple both conceptually and architecturally. Check out the code and look in src/scripts/data/collection.js and collection-definition.js. That's the gut of it. There are a few more modes of pivoting that I'll be adding, but what's there now should already be useful.
If you decide to port, then I'd suggest having the work done in a google code hosted project. Actually, the "freebase-parallax" project I mentioned has an "app" sub-project in it; so potentially you can add a "sesame-impl" sub-project to the same project.
Note that Parallax's performance depends largely on Sesame's performance (for queries with groupings and counts) as well as on the data's quality.
Edward Yakop commented on QI-121:
---------------------------------
IMHO, it would be difficult to integrate longwell with these requirement without forking longwell code.
Primary reasons:
o LongwellServlet code relies on WEB-INF folder to exists.
o It's hard to override longwell servlet code because:
o All field members are private
o Initialization is done inside GenericServlet#init( ServletConfig ), instead of GenericServlet#init()
o Other classes depends on LongwellServlet.
Other concerns:
o Longwell periodically checks configuration directories for changes in configuration files.
Longwell creates its own classloader to serve this purposes. Look at ConfigurationListener, LongwellClassLoaderWatcher, LongwellClassLoader.
Note:
Configuration files includes velocity templates, velocity macros, xslts, configuration rdf data, configuration java classes and its dependency jars.
Need feedback on how to proceed.