newbie guidance on implementing Getty vocabularies?

161 views
Skip to first unread message

Allan Berry

unread,
Nov 23, 2016, 12:08:47 AM11/23/16
to Getty Vocabularies as Linked Open Data
Hi there,

I've long admired the Getty vocabularies from afar, and I finally have a project wherein I can employ their awesomeness.  I'm happy to do the main work of learning and application, but I'd appreciate any available guidance at the outset so I don't make too many wrong turns.

This will be a FOSS web database (using Python/Django and React.js), to track art in Chicago; I'd like to employ ULAN and TGN, and probably AAT as well.  (Also perhaps the LoC subject guides.)  It seems a straightforward use-case: In web forms I'd like to guide users toward existing terms when possible.  I envision some asynchronous calls on the front-end to poll the vocabularies, and saving term IDs in a database for later use, perhaps in visualizations.

I'm a bit overwhelmed by the various ontological flavors available; I have zero experience with RDF outside reading brief conceptual descriptions in library school seminars. So:
  1. Is there any sort of REST API which I might call on an ad-hoc basis?
  2. Are my assumptions correct so far, or.do I need to take a step back, and learn/implement RDF or something?  I'm worried about bolting on too much complexity at project outset.
  3. Any useful Python or JS tools you recommend?
  4. Anything else occur to you at this stage?  Better approaches?
Thank you very much, I really appreciate it.
-Allan



Frank von Hagel

unread,
Nov 23, 2016, 6:39:42 AM11/23/16
to Getty Vocabularies as Linked Open Data
I also would be verry interested.

Van Daele, Koen

unread,
Nov 23, 2016, 7:04:26 AM11/23/16
to Allan Berry, gettyv...@googlegroups.com

Hi Allan,

if you're more comfortable with typical IT tools than RDF and tend to develop in Python you can have a look at skosprovider_getty (http://skosprovider-getty.readthedocs.io/en/stable/index.html). It offers an object oriented model on the Getty vocabs. It does this by abstracting away a lot of the complexity of the Getty vocabs, so you're basically trading richness of data and flexibility for ease of use. Underlying it talks to the Getty webservices, so it's always up to date. It's part of a larger family of Python libraries (http://skosprovider.readthedocs.io/en/latest/intro.html) that define a simple interface based on SKOS and implement that against different vocabularies (currently Getty, Heritagedata.org, our own services, SKOS files, JSON files, CSV files, SQLALchemy).

At Flanders Heritage we use these to talk to thesauri (basically to find out which SKOS Concept URI to associate with a record in our database). Most of our software is written in Python using the Pyramid framework, so there's also a pyramid_skosprovider to help integrate with Pyramid. This also offers a REST services on the underlying configured providers (basically acting as proxy). So if you call http://glacial-bastion-1106.herokuapp.com/conceptschemes/AAT/c/300000638 (a demo instance), you get a simplified version of a Getty vocab record.

If you're using Django, also have a look at Arches (http://archesproject.org/). This project has a module called RDM that allows you to edit controlled vocabularies. I believe they also had some plans to integrate with the Getty vocabs.

All software I've talked about is open source and written in Python. So, you can at least have a look at the different codebases and see what they're doing behind the screens.

Cheers,

Koen


Van Daele Koen

Applicatiebeheerder


Agentschap Onroerend Erfgoed

T 02 553 16 82, M 0499 94 93 68


Van: gettyv...@googlegroups.com <gettyv...@googlegroups.com> namens Allan Berry <allan...@gmail.com>
Verzonden: woensdag 23 november 2016 6:08
Aan: Getty Vocabularies as Linked Open Data
Onderwerp: [gettyvocablod] newbie guidance on implementing Getty vocabularies?
 
--
You received this message because you are subscribed to the Google Groups "Getty Vocabularies as Linked Open Data" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gettyvocablo...@googlegroups.com.
To post to this group, send email to gettyv...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gettyvocablod/87be7c0a-c572-4e20-8dc1-05cb66445443%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Allan Berry

unread,
Nov 23, 2016, 11:56:05 AM11/23/16
to Van Daele, Koen, gettyv...@googlegroups.com
Thanks Koen, I really appreciate your help! This is a ton more interesting and helpful than I hoped for.  Thanks!

I'll check into SKOS.  That might be just what I need.

The Glacial Bastion link doesn't work for me; any idea?

Re: Arches, I just saw this a few weeks ago. It looks very cool, although I haven't quite grokked it yet.  I'll be tracking performances and organizations; is Arches more for archaeology and architecture?  I need to download it and play around; I didn't realize it was Django.  I found the docs for RDM here, btw.

Once again, thank you.  I'll putter around and post back here with my observations/results.

-Allan




–––

Allan Berry
M: (312) 371-8722
P: 913 W Cullerton Apt 1, Chicago IL 60608

On Wed, Nov 23, 2016 at 6:04 AM, Van Daele, Koen <koen.v...@rwo.vlaanderen.be> wrote:

Hi Allan,

if you're more comfortable with typical IT tools than RDF and tend to develop in Python you can have a look at skosprovider_getty (http://skosprovider-getty.readthedocs.io/en/stable/index.html). It offers an object oriented model on the Getty vocabs. It does this by abstracting away a lot of the complexity of the Getty vocabs, so you're basically trading richness of data and flexibility for ease of use. Underlying it talks to the Getty webservices, so it's always up to date. It's part of a larger family of Python libraries (http://skosprovider.readthedocs.io/en/latest/intro.html) that define a simple interface based on SKOS and implement that against different vocabularies (currently Getty, Heritagedata.org, our own services, SKOS files, JSON files, CSV files, SQLALchemy).

At Flanders Heritage we use these to talk to thesauri (basically to find out which SKOS Concept URI to associate with a record in our database). Most of our software is written in Python using the Pyramid framework, so there's also a pyramid_skosprovider to help integrate with Pyramid. This also offers a REST services on the underlying configured providers (basically acting as proxy). So if you call http://glacial-bastion-1106.herokuapp.com/conceptschemes/AAT/c/300000638 (a demo instance), you get a simplified version of a Getty vocab record.

If you're using Django, also have a look at Arches (http://archesproject.org/). This project has a module called RDM that allows you to edit controlled vocabularies. I believe they also had some plans to integrate with the Getty vocabs.

All software I've talked about is open source and written in Python. So, you can at least have a look at the different codebases and see what they're doing behind the screens.

Cheers,

Koen


Van Daele Koen

Applicatiebeheerder


Agentschap Onroerend Erfgoed

T 02 553 16 82, M 0499 94 93 68


Verzonden: woensdag 23 november 2016 6:08
Aan: Getty Vocabularies as Linked Open Data
Onderwerp: [gettyvocablod] newbie guidance on implementing Getty vocabularies?
Hi there,

I've long admired the Getty vocabularies from afar, and I finally have a project wherein I can employ their awesomeness.  I'm happy to do the main work of learning and application, but I'd appreciate any available guidance at the outset so I don't make too many wrong turns.

This will be a FOSS web database (using Python/Django and React.js), to track art in Chicago; I'd like to employ ULAN and TGN, and probably AAT as well.  (Also perhaps the LoC subject guides.)  It seems a straightforward use-case: In web forms I'd like to guide users toward existing terms when possible.  I envision some asynchronous calls on the front-end to poll the vocabularies, and saving term IDs in a database for later use, perhaps in visualizations.

I'm a bit overwhelmed by the various ontological flavors available; I have zero experience with RDF outside reading brief conceptual descriptions in library school seminars. So:
  1. Is there any sort of REST API which I might call on an ad-hoc basis?
  2. Are my assumptions correct so far, or.do I need to take a step back, and learn/implement RDF or something?  I'm worried about bolting on too much complexity at project outset.
  3. Any useful Python or JS tools you recommend?
  4. Anything else occur to you at this stage?  Better approaches?
Thank you very much, I really appreciate it.
-Allan



--
You received this message because you are subscribed to the Google Groups "Getty Vocabularies as Linked Open Data" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gettyvocablod+unsubscribe@googlegroups.com.

Vladimir Alexiev

unread,
Nov 24, 2016, 2:14:33 AM11/24/16
to Getty Vocabularies as Linked Open Data, koen.v...@rwo.vlaanderen.be
Hi Allan! Thanks for the nice words.

There is a REST API: it's the SPARQL endpoint. There are several examples in the Sample Queries for making full-text search queries against the endpoint, looking for a term entered by the user. Various external systems use that for auto-completion, to allow the user to pick a term from GVP. If I can help you with formulating queries, write here.

I'm not a Python programmer but it seems the leading framework is RDFLib. Here's a survey: http://www.michelepasin.org/blog/2011/02/24/survey-of-pythonic-tools-for-rdf-and-linked-data-programming/. This is quite old, but the author is famous in our domain: he's the semantic architect of Springer Nature.

Hopefully the Python framework you select will allow you to use any of the RDF representations (serializations). If not, you may prefer JSON for SPARQL SELECT and JSONLD for getting entities. But our JSONLD is not yet perfect, since it doesn't use a context (namespaces etc) so it's quite verbose.

Getty Arches tracks immovable heritage. It is used eg by Jordan and the City of LA to track historic buildings and monuments.

Cheers! Vladimir

PS: yes, we moved away from answers.semanticweb.com and to this google group.

Margaret Warren

unread,
Nov 24, 2016, 8:45:18 PM11/24/16
to Allan Berry, Getty Vocabularies as Linked Open Data

Hi Allan,

One thing you may want to do is check out an application called ImageSnippets  (http://www.imagesnippets.com). What you can see there is the implementation of RDF and the Getty Vocabularies used for image descriptions and an interface made for user who have less knowledge of than you do.

At least you can see some of these things you are describing in practical use.

Best,
Margaret Warren

Allan Berry

unread,
Dec 2, 2016, 3:35:58 PM12/2/16
to Getty Vocabularies as Linked Open Data, koen.v...@rwo.vlaanderen.be
Thanks @Vladimir, I appreciate it.  I'll look into the SPARQL endpoint for autocompletion then; maybe that will be sufficient.  I'm not yet at the stage of formulating queries, but when I get there, I'm sure I'll appreciate your help.

And thank you @Margaret as well.  I'm all about good examples at this stage.  ImageSnippets looks cool, and quite useful.  Duly noted.

I'll keep you guys posted on my progress, when I circle back to this stuff.  Right now I'm still in the brainstorming and architecture stage; it's nice to not see any roadblocks in this direction.  More soon!
Reply all
Reply to author
Forward
0 new messages