Werkstattbericht –
Autocompletion für Agrovoc-Schlagworte mit JSKOS & Elasticsearch

Jan Schnasse, Publikationssysteme, hbz NRW

SUB, Göttingen, 2017-05-11

Diese Präsentation:
http://hbz.github.io/slides/siit-170511

Kontext

Fachrepositorium Lebenswissenschaften
ZBMED

Anforderung

  • Sacherschließung mit Agrovoc
  • "Intelligentes Feld" mit Eingabeunterstützung

Was ist Agrovoc?

“AGROVOC is a controlled vocabulary covering all areas of interest of the Food and Agriculture Organization (FAO) of the United Nations, including food, nutrition, agriculture, fisheries, forestry, environment etc. It is published by FAO and edited by a community of experts.”
Quelle

Agrovoc SKOS


  • ~6.200.000 rdf statements
  • 32707 skos concepts
  • 51 MB compressed
  • 897,7 MB uncompressed

    Nochmal...

  • Sacherschließung mit Agrovoc
  • "Intelligentes Feld" mit Eingabeunterstützung

Demo 1

Umsetzung

Wie machen wir es?

  • Mit Hilfe des Agrovoc Triple Store,...
  • oder als hbz-Datenmodul mit eigenem Agrovoc Vollabzug?

hbz-Datenmodul?

Aufwand

Ein eigener Webservice, ist das nicht sehr aufwändig?

Vorarbeiten

Orientiert an Lobid und speziell an lobid-organisations

Ansatz von Fabian Steeg (hbz) & Simon B. Ritter (hbz)

  • Embedded Elasticsearch
  • HTTP Controller für Query & Import
  • JSON-LD als Indexformat

Elasticsearch, HTTP-Controller, JSON-LD...
?

Elasticsearch, HTTP-Controller, JSON-LD...
???

Elasticsearch, HTTP-Controller, JSON-LD...
????

Vorarbeiten

Datentransformation mit Hilfe von JSKOS.
Version 13 Jun 2016 mit kleineren Änderungen
									
-"uri": "@id",
+ "id": "@id",
-  "type": {
-		"@id": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type",
-		"@type": "@id",
-		"@container": "@set"
-		},
+ "type": "@type",
				
				

Agrovoc zu JSON-LD?

Erledigt!

Vorarbeiten

Jörg Prante's (hbz) Bundle Plugin

  • elasticsearch-analysis-autophrase
  • elasticsearch-analysis-german
  • elasticsearch-analysis-hyphen

Elasticsearch?

Erledigt!

Implementation

POST /init

Implementation

Unterstützte HTTP Kommandos

				
POST		/init						
GET		/init						
GET		/example					
GET		/autocomplete				
GET		/select2				    
GET		/search					    
POST		/displayPost                
				

Demo 2

Fazit

  • Einfache Umsetzung wegen guter Vorarbeiten
  • Gut adaptierbar für gängige Javascript Bibliotheken
  • Kleines Tool als sinnvolle Ergänzung zur Veröffentlichung von Daten

Dokumentation

Kontakt

Twitter: @InspektorHicks
Email: schnasse@hbz-nrw.de
Github: GitHub


Die Slides sind unter einer CC-BY-4.0-Lizenz veröffentlicht.