Print

Print


One thing I've been using a triple store for recently is to model a
lexicographic dataset extracted from a bunch of TEI files. The TEI XML
files are transcriptions of lexicons of various Australian aboriginal
languages; tables of English language words, with their equivalents
supplied by native speakers of those languages, in outback Australia in the
early 20th C.

For this aboriginal language project I wrote XSLT that converts one of
these TEI files into an RDF/XML file in which the lexicographic data in the
TEI is encoded in SKOS (a thesaurus vocabulary). I apply that stylesheet to
each TEI file, and take the resulting RDF/XML file and store it in the RDF
graph store with an HTTP PUT. Then I wrote SPARQL queries to query over the
union of all those graphs, to extract statistics and analyze the full
dataset.

Using a triple store and a SPARQL query interface makes it much easier and
more efficient to query the lexicographic data than it would be to query it
directly from the TEI XML, using e.g. XQuery,

For my triple store I chose to use Apache Fuseki, because it implements all
the SPARQL 1.1 protocols including the Graph Store HTTP Protocol <
http://www.w3.org/TR/sparql11-http-rdf-update/>. The crucial thing with the
SPARQL 1.1 HTTP Graph Store protocol is that your unit of data management
is not at the level of individual triples, but at the level of groups of
triples - "Named Graphs" - which are very much the same as the concept of a
"record" in traditional data management systems. So although it's possible
to use the older SPARQL Update Protocol to manage your RDF data, I think
it's generally much easier to use the SPARQL Graph Store HTTP Protocol
interface to keep the RDF up to date and in synch with the source data.

In the SPARQL Update Protocol, you send the SPARQL server a command that
inserts and/or deletes triples; so it's a kind of Remote Procedure Call
style of protocol. Whereas the Graph Store protocol is resource-oriented
(RESTful); you simply identify a bunch of triples (a "Named Graph"), and
use HTTP PUT to overwrite them with a new bunch of triples, or DELETE to
remove them altogether, or POST to add new triples to the graph.








On 20 December 2014 at 01:00, Forrest, Stuart <[log in to unmask]> wrote:

> Hi All
>
> My question is what do you guys use triplestores for?
>
> Thanks
> Stuart
>
>
>
> ================================================================================
> Stuart Forrest PhD
> Library Systems Specialist
> Beaufort County Library
> 843 255 6450
> [log in to unmask]
>
> http://www.beaufortcountylibrary.org
>
> For Leisure, For Learning, For Life
>
>
>
> -----Original Message-----
> From: Code for Libraries [mailto:[log in to unmask]] On Behalf Of
> Stefano Bargioni
> Sent: Monday, November 11, 2013 8:53 AM
> To: [log in to unmask]
> Subject: Re: [CODE4LIB] rdf triplestores
>
> My +1 for Joseki.
> sb
>
> On 11/nov/2013, at 06.12, Eric Lease Morgan wrote:
>
> > What is your favorite RDF triplestore?
> >
> > I am able to convert numerous library-related metadata formats into
> RDF/XML. In a minimal way, I can then contribute to the Semantic Web by
> simply putting the resulting files on an HTTP file system. But if I were to
> import my RDF/XML into a triplestore, then I could do a lot more. Jena
> seems like a good option. So does Openlink Virtuoso.
> >
> > What experience do y'all have with these tools, and do you know how to
> import RDF/XML into them?
> >
> > --
> > Eric Lease Morgan
> >
>