2015.05 2016.06 2017.06

Die Link Tabellen

Die Seite beschreibt die Referenztabelle über Links zwischen MyCoRe-Objekten.

Allgemeines

Neben der Indizierung der Metadaten zur Suche wird auch über einen entsprechenden Event-Handler (MCRLinkTableEventHandler) dafür gesorgt, dass Verweise zwischen den einzelnen Metadaten-Objekten gesondert in einer Datenbanktabelle gespeichert werden. Über entsprechende Zugriffe sind so Abfragen von Referenzen und Zählungen möglich. Die Definition des Tabellennamens erfolgt in der Konfigurationsdatei mycore.private.properties

MCR.Persistence.LinkTable.Store.Table=MCRLINKHREF

Die Tabelle enthält die Spalten MCRFROM, MCRTO, MCRTYPE, MCRATTR.

  • MCRFROM enthält die Quelladresse (Source) des Link (i.d.R. eine MCRObjectID).
  • MCRTO enthält die Zieladresse (Target/Destination) des Link. Dies kann u. a. eine MCRObjectID sein. Links auf Kategorien von Klassifikationen werden in der Form {classid}##{categid} abgespeichert.
  • MCRTYPE enthält den Typ des Links. Derzeit sind folgende Typen vorgesehen:
    • parent – Link zu einem Elternobjekt
    • child – Link zu einem Kindobjekt
    • derivate – Link zu einem Derivate
    • classid – Link zu einer Kategorie einer Klassifikation
    • reference – Link zu einem anderen Metadaten-Objekt
  • MCRATTR – derzeit nicht belegt

Zugriff via API

Der Zugriff auf die Link-Tabellen mittels API erfolgt über die Klasse org.mycore.datamodel.metadata.MCRLinkTableManager. Diese organisiert auch den Zugiff auf die Persistenz-Schicht durch Nutzung eines Interface.

MCRLinkTableManager LTM = MCRLinkTableManager.instance();
ArrayList to = LTM.getSourceOf(from,“reference“);
Klassendiagramm

Abbildung 2.2: Klassendiagramm für die Link Tables

Zugriff über die Web-Schnittstellen

Für den Zugriff via Web stellt das System ein Servlet bereit. Dieses liefert als Rückgabewert ein mcr.results-XML-Objekt. Abhängig von der Angabe der Parameter from oder to enthält das Ergebnis die ID's der Ziel- oder Quellobjekte. Wird der Parameter type weggelassen, so ist 'reference' der Standardwert.

http://myhost/servlets/MCRLinkServlet?XSL.Style=xml&from=DocPortal_Document_00000001&type=derivate

Alternativ kann der Zugriff über den WebService erfolgen. Dies geschieht entweder über den URIResolver (Siehe Beschreibung des URIResolvers in diesem Handbuch) oder direkt als URL. Die WebService URL lautet dazu beispielsweise:

http://localhost:8481/services/MCRWebService?method=MCRDoRetrieveLinks&
        to=TestPapyri_schrift_00000001

 Jens Kupferschmidt, Kathleen Neumann - 2017-06-27