Print

Print


We do store our metadata in a relational database (postgresql).  But instead of doing relational modeling of any particular schema, we model everything as RDF.  So our database is just one big table with columns for subject, prediate, object and namedGraph.  We do queries using Jena to transform SPARQL into SQL queries.

We started out with a similar approach several years ago, and switched to a triplestore for better RDF and SPARQL support.  But we ran into problems when we deployed this, since the triplestore wasn't really designed for simultaneous reads and edits from multiple users.

Since we do the vast majority of our query and view operations with Solr, our main concern was having reliable transaction support for updates.  So using a relational database to store our triples was a good fit.

-Esme

> On 04/17/15, at 2:40 PM, Kevin S. Clarke <[log in to unmask]> wrote:
> 
> Hi Stephen,
> 
> I believe the UCSD folks have put things in a relational database in a
> spec-agnostic way (and then they can pull things out as MODS, MARC, or
> whatever on the fly when needed).  There is a link below to their GitHub
> repository which has some documentation (and slides from a 2013
> presentation they gave at that year's Code4Lib conference).
> 
> https://github.com/ucsdlib/dams/tree/master/ontology
> 
> Hope that helps,
> 
> Kevin
> 
> 
> 
> On Fri, Apr 17, 2015 at 1:27 PM, Stephen Schor <[log in to unmask]>
> wrote:
> 
>> Hullo.
>> 
>> I'm interested to hear about people's approaches for modeling
>> repository objects in a normalized, spec-agnostic way, _relational_ way
>> while
>> maintaining the ability to cast objects as various specs (MODS, Dublin
>> Core).
>> 
>> People often resort to storing an object as one specification (the text of
>> the MODS for example),
>> and then convert it other specs using XSLT or their favorite language,
>> using established
>> mappings / conversions. (
>> http://www.loc.gov/standards/mods/mods-conversions.html)
>> 
>> Baking a MODS representation into a database text field can introduce
>> problems with queryablity and remediation that I _feel_ would be hedged
>> by factoring out information from the XML document, and modeling it
>> in a relational DB.
>> 
>> This is idea that's been knocking around in my head for a while.
>> I'd like to hear if people have gone down this road...and I'm especially
>> eager to hear both success and horror stories about what kind of results
>> they got.
>> 
>> Stephen
>> 
> 
> 
> 
> -- 
> "There are two kinds of people in this world: those who believe there are
> two kinds of people in this world and those who know better."