This may not be a Fuseki/Jena problem directly but it is one I have had to
deal with before.  Being a backend architect/developer I try to stay away
from the UI as much as possible.  However, there comes a time when someone
some where says "So how do I get the data out".  Right now on my €job I
have that question posed and I have an architect who wants to create a
bunch of REST service calls that do nothing but run standard parametrized
queries against Fuseki and present the results to the UI developers.  I
don't think this is the best solution.

I think this is a valid question, and I think it is a tough one to solve.

The shortest answer is probably to look at the Fuseki web app code and see
how it is done  there.

The longer answer is that front end developers will have to understand how
RDF works and some standard vocabularies.

For example: if a UI developer wants to get all the properties of a cow <
http://example.com/Cow> s/he needs to know to query with either:

Select distinct ?property WHERE
?a rdf:type  <http://example.com/Cow>
?a ?property ?value .

or:

Select distinct ?property WHERE
?property rdfs:domain <http://example.com/Cow>.

depending on what the UI requirements are.

Next the JSON-LD format, while it is a valid json format, is not what most
UI developers have seen.  A bit of help explaining how to understand what
JSON-LD is saying would go a long way.

Now with all that being said, not all of it belongs in Jena documentation.
But then most of the RDF documentation sites I have seen are not well
maintained, so there is no place to go for good samples.

So, valid and important question, but I fear I don't have much in the way
of an answer as of yet.  I will be discussing this at work and will try to
post information as I develop it.

Claude

On Mon, Mar 19, 2018 at 11:59 AM, Laura Morales <[email protected]> wrote:

> TBH I think you're writing to the wrong mailing list. You should write to
> the <insert UI framework here> mailing list, and ask them to provide
> example code to use the UI with a Fuseki backend instead of MySQL.
>
>
>
>
> Sent: Monday, March 19, 2018 at 12:33 PM
> From: "David Moss" <[email protected]>
> To: [email protected]
> Subject: Re: Example code
>
> On 19/3/18, 5:39 pm, "Lorenz Buehmann" <[email protected]
> leipzig.de> wrote:
>
> >Well, isn't that the task of the UI logic? You get JSON-LD and now you
> >can visualize it. I don't really see the problem here?
>
> Therein lies the problem. I'm sure _you_ know how to do it.
> How does someone without experience in integrating Jena with UI know how
> to do it?
>
> >dataset -> query -> data -> visualization (table, graph, etc.)
>
> Those are indeed a set of steps. Do you have an example of how to do that
> in java code and load the result into a combobox for selection in a UI?
>
> >Why should this be an example on the Apache Jena documentation?
>
> It shouldn't. It should be stored separately from the Apache Jena
> documentation.
> The Javadoc is for how Jena works internally and how to maintain Jena
> itself.
> I'm talking about examples to help people use Jena in the kind of
> applications people want to use.
>
> One of the dilemmas I have regarding Jena is how to store query results
> locally.
> I could use Jena to query an endpoint, iterate through the ResultSet and
> build POJOs or Tables.
> Or is it better to keep the results in a Model and query that again to
> build UI components?
> Or maybe I should ditch the fancy Jena objects and just get a result as a
> JSON object and work with that?
>
> These are all possibilities, but how is it actually being done in real
> projects? Where are the examples?
>
> A reply like "dataset -> query -> data -> visualization (table, graph,
> etc.)" is very glib, but it doesn't actually have anything in the way of
> example code that can be used by people new to Jena in their own real-world
> programs. That is what I see as missing.
>
>
> DM
>
>
>
>
>
>
>
>
>
>
>
>
> On 19.03.2018 08:31, David Moss wrote:
> > That is certainly a way to get data from a SPARQL endpoint to display in
> a terminal window.
> > It does not store it locally or put it into a user-friendly GUI control
> however.
> > Looks like I might have to roll my own and face the music publicly if
> I'm doing it wrong.
> >
> > I think real-world examples of how to use Jena in a user friendly
> program are essential to advancing the semantic web.
> > Thanks for considering my question.
> >
> > DM
> >
> > On 19/3/18, 4:19 pm, "Laura Morales" <[email protected]> wrote:
> >
> > As far as I know the only way to query a Jena remotely is via HTTP. So,
> install Fuseki and then send a traditional HTTP GET/POST request to it with
> two parameters, "query" and "format". For example
> >
> > $ curl --data "format=json&query=..." http://your-endpoint.org
> >
> >
> >
> > Sent: Sunday, March 18, 2018 at 11:26 PM
> > From: "David Moss" <[email protected]>
> > To: [email protected]
> > Subject: Re: Example code
> >
> > On 18/3/18, 6:24 pm, "Laura Morales" <[email protected]> wrote:
> >
> > >> For example, when using data from a SPARQL endpoint, what is the
> accepted
> > >> way to retrieve it, store it locally and make it available through
> user
> > >> interface controls?
> >
> > >Make a query that returns a jsonld document.
> >
> > How? Do you have some example code showing how this query is retrieved,
> dealt with locally and made available to an end user through a GUI control?
> > What I am looking for here is a bridge between what experts glean from
> reading Javadoc and what ordinary people need to use Jena within a GUI
> based application.
> >
> > I see this kind of example as the missing link that prevents anyone
> other than expert using Jena.
> > So long as easy to follow examples of how to get from an rdf triplestore
> to information displayed on a screen in a standard GUI way are missing,
> Jena will remain a plaything for expert enthusiasts.
> >
> > DM
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
>
>
>
>
>



-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to