[Mulgara-dev] configuration questions

Gregg Reynolds dev at mobileink.com
Tue Nov 30 15:48:54 UTC 2010


Hi list,

I'm looking for advice on configuring Mulgara for a web application.  It's
easy to run and access Mulgara, locally or remotely, using cURL; the problem
is that accessing the server from a web browser runs into cross-site
scripting problems; neither Chrome nor Firefox will allow access to a
Mulgara server at a different URL than the one serving the webpage.

Last year I hacked up the code in HttpServices.java so that I could serve my
webpage from Mulgara.  With the change to Jetty 7 this doesn't compile, and
it's not a very good solution anyway.

This page <http://wiki.eclipse.org/Jetty/Feature/Cross_Origin_Filter> leads
me to believe that Jetty 7 comes with a configurable filter to address just
this problem, but I'm not sure how to enable it in mulgara-x.y.z.jar.  Can
anybody offer pointers?

A little background:  I'm working with a linguist whose project is
reconstruction of Proto-Afroasiatic.  This involves close analysis of the
phonology and morphology of lots of words across lots of languages - we've
got data from 50 languages and counting.  RDF is perfect for this, since
morphosyntactic properties map naturally to triples, e.g. <word:cats>
<foo:number> <foo:Plural> etc.  So mulgara will be the backend datastore,
and the frontend will be a web GUI that allows the user to select word
paradigms, display them in grids, and drag and drop headers, rows, and
columns to enable easy comparison.  The frontend sends SPARQL queries to
Mulgara.  For example, "show me the 3rd person present tense singular verb
forms for these 7 languages".

The users will not be technically sophisticated, so I need to come up with a
very simple and clear Mulgara configuration.  Presumably we'll expose a
server instance on the web, but the browser app will not necessarily be
served from the same domain.  Plus we will also provide a Mulgara package
and instructions for running a private local server.  If we can get the data
schema into shape and properly documented we can expect that people might
want to write their own browser interfaces.  So we have to deal with the
cross-origin problem.

So I guess I have two questions.  One is whether the Jetty cross-origin
filter is the way to go, and if so how to get it working on Mulgara.  The
other is whether I should look into a custom build, e.g. using
mulgara-x.y.z.war or one of the other build products.  Obviously the focus
is entirely on Mulgara as a SPARQL endpoint.

More generally, can anybody provide more details on the hows and whys of the
various build products?  I don't do a whole lot of Java development -
actually I don't do a whole lot of development period, except for some web
stuff -  so it isn't clear to me what all the parts are and how they fit
together into a Big Picture.   For the documentation I'd like to provide a
fuller explanation than we have at e.g.
http://www.mulgara.org/trac/wiki/Deploying.  E.g. "raw-version.jar" is "The
full Mulgara distribution, but without embedded 3rd party libraries";  but
what does "full Mulgara distribution" mean?  And what 3rd party libs?  Etc.

Think "block architecture diagrams", as in this
diagram<http://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/OSX_Technology_Overview/MacOSXOverview/MacOSXOverview.html#//apple_ref/doc/uid/TP40001067-CH205-SW2>
of
OS X layers.  (If anybody wants to take a stab at making such a diagram,
check out Mockingbird <https://gomockingbird.com/> (I have no connection
with them, it's just a very handy tool for fast diagramming.)

Thanks,

Gregg
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mulgara.org/pipermail/mulgara-dev/attachments/20101130/70990b54/attachment.html>


More information about the Mulgara-dev mailing list