• POST /systematik
  • PUT /systematik/<id>
    • Eine Systematik im System ändern
    • Parameter:
      • files: Endpunkt bekommt URL zum xTree als JSON übergeben
      • primkeys: Endpunkt kann feste Primärschlüssel übergeben bekommen

      • topLevelXTreeUri: topLevel XTree-Uri, wenn nicht der gesamte Baum von der gegebenen URL geladen werden soll
      • {
        	"files": [
        		"http://xtree-rest.digicult-verbund.de/getSearchVocItemsByTerm?vocabulary=http%3A%2F%2Fvocab.archivportal-d.de&searchtermslist=*&mode=AND&start=start&count=count&searchfields=all&typeofvocitem=all&restrictedto=Restrict+to+IDs&jsonfull=1&lang=all&homonymlexicalvalue=Restrict+to+homonym&submit=getSearchVocItemsByTerm"
        	],
        	"primkeys": {"http://vocab.archivportal-d.de/00002":"0", "http://vocab.archivportal-d.de/00003":"1", "http://vocab.archivportal-d.de/01011":"dh"},
            "topLevelXTreeUri": "http://vocab.archivportal-d.de/00002"
        }
    • Die bisher unter dieser ID gespeicherte Systematik wird gelöscht
    • return void
  • GET /top-level-categories
    • top-level Kategorien abrufen (Themenportale)
    • return category-metadata als JSON
      • [
        	{
        		"id":"0",
        		"objectType":"CATEGORY",
        		"xtreeUri":"http://vocab.archivportal-d.de/00002",
        		"label":"Weimarer Republik",
        		"notation":"WR",
        		"parentId":"none"
        	}
        ]
  • GET /category/<id>
    • Kategorie abrufen
    • return category-metadata als JSON
      • {
        	"id":"2",
        	"objectType":"CATEGORY",
        	"xtreeUri":"http://vocab.archivportal-d.de/00010",
        	"label":"Regierung und Verwaltung",
        	"notation":"WR.T.01",
        	"parentId":"1"
        }
  • GET /category/<id>/children
    • Alle Kategorien, die der Kategorie mit der gegebenen ID direkt untergeordnet sind, abrufen
    • return category-metadata als JSON
      • [
          {
            "id": "1",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00003",
            "label": "Themen",
            "notation": "WR.T",
            "parentId": "0"
          },
          {
            "id": "dh",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/01011",
            "label": "Geografie",
            "notation": "WR.G",
            "parentId": "0"
          }
        ]
        
        
  • POST /categories/list
    • Endpunkt akzeptiert Liste von categoryIds
    • return category-metadata als JSON
      • [
        	{
        		"id": "1", 
        		"objectType": "CATEGORY", 
        		"xtreeUri": "http://vocab.archivportal-d.de/00003", 
        		"label": "Themen", 
        		"notation": "WR.T", 
        		"parentId": "0" 
        	}, 
        	{ 
        		"id": "dh", 
        		"objectType": "CATEGORY", 
        		"xtreeUri": "http://vocab.archivportal-d.de/01011", 
        		"label": "Geografie", 
        		"notation": "WR.G", 
        		"parentId": "0" 
        	} 
        ]
  • GET /category/<id>/keywords
    • Alle Schlagwörter, die sich irgendwo in der Hierarchie unterhalb der gegebenen ID befinden, abrufen
    • return keyword-metadata als JSON
      • [
          {
            "id": "eX",
            "objectType": "KEYWORD",
            "xtreeUri": "http://vocab.archivportal-d.de/01033",
            "categoryIds": [
              "dN"
            ],
            "createdAt": "2020-08-06T15:31:18",
            "gndEntityId": "gik",
            "hierarchicalCategoryIds": [
              "0",
              "dh",
              "dN"
            ],
            "label": "Afghanistan",
            "note": [],
            "gndUris": [
              {
                "uri": "http://d-nb.info/gnd/4000687-6",
                "relation": "closeMatch"
              },
              {
                "uri": "https://www.wikidata.org/wiki/Q889",
                "relation": "closeMatch"
              }
            ],
            "synonyms": [
              "A-fu-han",
              "DRA (Democratic Republic of Afghanistan)",
            ]
          },
          {
            "id": "f1",
            "objectType": "KEYWORD",
            "xtreeUri": "http://vocab.archivportal-d.de/01037",
            "categoryIds": [
              "dN"
            ],
            "createdAt": "2020-08-06T15:31:18",
            "gndEntityId": "gik",
            "hierarchicalCategoryIds": [
              "0",
              "dh",
              "dN"
            ],
            "label": "Argentinien",
            "note": [],
            "gndUris": [
              {
                "uri": "http://d-nb.info/gnd/4002890-2",
                "relation": "closeMatch"
              },
              {
                "uri": "https://www.wikidata.org/wiki/Q414",
                "relation": "closeMatch"
              }
            ],
            "synonyms": [
              "Argentinah",
              "Argentine",
            ]
          },
        ]
        
        
  • GET /category/<tpid>/keywords/alphabetical-grid
    • Alle Buchstaben in einer Liste mit denen mindestens ein Keyword anfängt.
    • <tpid> muss eine topLevelCategoryId sein (ThemenportalId)
    • return Letters with Keywords
      • ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","R","S","T","U","V","W","Y","Z"]
  • GET /category/<tpid>/keywords/alphabetical/<letter>
    • Alle Schlagwörter zurücklieferen deren label mit dem Buchstaben <letter> beginnt
    • <letter> muss ein Buchstabe sein
    • <tpid> muss eine topLevelCategoryId sein (ThemenportalId)
    • return JSON with all Keywords for given Letter
      • [
          {
            "id": "3q",
            "objectType": "KEYWORD",
            "xtreeUri": "http://vocab.archivportal-d.de/00284",
            "categoryIds": [
              "1l"
            ],
            "createdAt": "2020-08-06T15:31:14",
            "gndEntityId": "siz",
            "hierarchicalCategoryIds": [
              "0",
              "1",
              "2V",
              "1l"
            ],
            "label": "Young-Plan",
            "note": [
              "10.1c Wirtschaftsgeschichte: Neuzeit",
              "16.4c Geschichte überregionaler Gebiete: Neuzeit"
            ],
            "gndUris": [
              {
                "uri": "http://d-nb.info/gnd/4190429-1",
                "relation": "exactMatch"
              },
              {
                "uri": "http://www.wikidata.org/entity/Q165119",
                "relation": "exactMatch"
              }
            ],
            "synonyms": []
          }
        ]
        
        
  • GET /category/<tpid>/tree/<cid>
    • Baumstruktur mit Kategorien + Schlagwörtern für gegebenes Themenportal (<tpid>)
    • Nur den Unterbaum ab der Kategorie mit der id <cid> zurückliefern.
      • {
          "data": {
            "id": "1",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00003",
            "label": "Themen",
            "notation": "WR.T",
            "parentId": "0"
          },
          "children": [
            {
              "data": {
                "id": "0s",
                "objectType": "CATEGORY",
                "xtreeUri": "http://vocab.archivportal-d.de/00094",
                "label": "Parlamente und Parteien",
                "notation": "WR.T.02",
                "parentId": "1"
              },
              "children": [
                {
                  "data": {
                    "id": "0C",
                    "objectType": "CATEGORY",
                    "xtreeUri": "http://vocab.archivportal-d.de/00104",
                    "label": "Volksbeteiligung",
                    "notation": "WR.T.02.02",
                    "parentId": "0s"
                  },
                  "children": [
                    {
                      "data": {
                        "id": "0F",
                        "objectType": "KEYWORD",
                        "xtreeUri": "http://vocab.archivportal-d.de/00107",
                        "categoryIds": [
                          "0C"
                        ],
                        "createdAt": "2020-08-06T15:31:13",
                        "gndEntityId": "saz",
                        "hierarchicalCategoryIds": [
                          "0",
                          "1",
                          "0s",
                          "0C"
                        ],
                        "label": "Petition",
                        "note": [
                          "7.1a Recht allgemein, Rechtsphilosophie",
                          "8.2a Innenpolitik"
                        ],
                        "gndUris": [
                          {
                            "uri": "http://d-nb.info/gnd/4137338-8",
                            "relation": "exactMatch"
                          },
                          {
                            "uri": "http://www.wikidata.org/entity/Q697279",
                            "relation": "exactMatch"
                          }
                        ],
                        "synonyms": [
                          "Bittschrift",
                          "Eingabe",
                          "Bittgesuch",
                          "Petitionen"
                        ]
                      },
                      "children": []
                    }
                  ]
                ]
              ]
            ]
          ]
        }
        
        
  • GET /keyword/<id>
    • Informationen zu einem einzelnen Schlagwort abrufen
    • return keyword-metadata als JSON
      • {
          "id": "3q",
          "objectType": "KEYWORD",
          "xtreeUri": "http://vocab.archivportal-d.de/00284",
          "categoryIds": [
            "1l"
          ],
          "createdAt": "2020-08-06T15:31:14",
          "gndEntityId": "siz",
          "hierarchicalCategoryIds": [
            "0",
            "1",
            "2V",
            "1l"
          ],
          "label": "Young-Plan",
          "note": [
            "10.1c Wirtschaftsgeschichte: Neuzeit",
            "16.4c Geschichte überregionaler Gebiete: Neuzeit"
          ],
          "gndUris": [
            {
              "uri": "http://d-nb.info/gnd/4190429-1",
              "relation": "exactMatch"
            },
            {
              "uri": "http://www.wikidata.org/entity/Q165119",
              "relation": "exactMatch"
            }
          ],
          "synonyms": []
        }
        
        
  • GET /keyword/<id>/categories
    • Alle Kategorien + Oberkategorien für das gegebene Keyword zurückliefern.
    • return category-metadata als JSON
      • [
          {
            "id": "0",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00002",
            "label": "Weimarer Republik",
            "notation": "WR",
            "parentId": "none"
          },
          {
            "id": "1",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00003",
            "label": "Themen",
            "notation": "WR.T",
            "parentId": "0"
          },
          {
            "id": "1l",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00276",
            "label": "Abkommen und Konferenzen",
            "notation": "WR.T.05.05",
            "parentId": "2V"
          },
          {
            "id": "2V",
            "objectType": "CATEGORY",
            "xtreeUri": "http://vocab.archivportal-d.de/00250",
            "label": "Außenpolitik",
            "notation": "WR.T.05",
            "parentId": "1"
          }
        ]
        
        
  • GET /category/<id of Themenportal>/keywords/search
    • Such-Endpunkt. Get-Parameter q=<query>
    • Keine SOLR-Abfrage, sondern DB-Query mit LIKE
    • return keyword-metadata als JSON
      • [
          {
            "id": "8E",
            "objectType": "KEYWORD",
            "xtreeUri": "http://vocab.archivportal-d.de/00620",
            "categoryIds": [
              "8D"
            ],
            "createdAt": "2020-08-06T15:31:16",
            "gndEntityId": "saz",
            "hierarchicalCategoryIds": [
              "0",
              "1",
              "7s",
              "8D"
            ],
            "label": "Ausländischer Kriegsgefangener",
            "note": [
              "8.4 Militär",
              "9.4ab Einzelne Berufe, Tätigkeiten, Funktionen; Religionszugehörigkeit, Weltanschauung"
            ],
            "gndUris": [
              {
                "uri": "http://d-nb.info/gnd/4033131-3",
                "relation": "closeMatch"
              },
              {
                "uri": "http://www.wikidata.org/entity/Q179637",
                "relation": "closeMatch"
              }
            ],
            "synonyms": [
              "Kriegsgefangene"
            ]
          }
        }
         
  • POST /keywords/list
    • Endpunkt akzeptiert Liste von keywordIds
    • Ermöglicht den Abruf von Schlagwort-Texten für Facettenwerte (keywordIds)
    • return keyword-metadata als JSON
      • [
          {
            "id": "8E",
            "objectType": "KEYWORD",
            "xtreeUri": "http://vocab.archivportal-d.de/00620",
            "categoryIds": [
              "8D"
            ],
            "createdAt": "2020-08-06T15:31:16",
            "gndEntityId": "saz",
            "hierarchicalCategoryIds": [
              "0",
              "1",
              "7s",
              "8D"
            ],
            "label": "Ausländischer Kriegsgefangener",
            "note": [
              "8.4 Militär",
              "9.4ab Einzelne Berufe, Tätigkeiten, Funktionen; Religionszugehörigkeit, Weltanschauung"
            ],
            "gndUris": [
              {
                "uri": "http://d-nb.info/gnd/4033131-3",
                "relation": "closeMatch"
              },
              {
                "uri": "http://www.wikidata.org/entity/Q179637",
                "relation": "closeMatch"
              }
            ],
            "synonyms": [
              "Kriegsgefangene"
            ]
          }
         ]
  • POST /keyword-relations/<top-level-category-id>
    • Liefert Objekt-Schlagwort-Relationen (ohne keyword-label) zurück
    • Endpunkt akzeptiert Liste von ddbIds
    • return Object-Keyword-metadata als JSON
      • [
          {
            "topLevelCategoryId": "0",
            "childCategoryId": "1",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3F",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "createdAt": "2020-07-21T08:26:44",
            "creator": "mih",
            "modifiedAt": "2020-07-21T08:26:44",
            "status": "ACCEPTED"
          },
          {
            "topLevelCategoryId": "0",
            "childCategoryId": "1",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3H",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "createdAt": "2020-07-21T08:26:44",
            "creator": "mih",
            "modifiedAt": "2020-07-21T08:26:44",
            "status": "ACCEPTED"
          }
        ]
        
        
  • GET /keyword-relations/<top-level-category-id>/<status>
    • Liefert Objekt-Schlagwort-Relationen (ohne keyword-label) zurück
    • return Object-Keyword-metadata als JSON
      • [
          {
            "topLevelCategoryId": "0",
            "childCategoryId": "1",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3F",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "createdAt": "2020-07-21T08:26:44",
            "creator": "mih",
            "modifiedAt": "2020-07-21T08:26:44",
            "status": "PUBLISHED"
          },
          {
            "topLevelCategoryId": "0",
            "childCategoryId": "1",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3H",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "createdAt": "2020-07-21T08:26:44",
            "creator": "mih",
            "modifiedAt": "2020-07-21T08:26:44",
            "status": "PUBLISHED"
          }
        ]
        
        
  • POST /keyword-relation
    • Ein Schlagwort einer ddbId zuordnen.
    • Erlaubte status: AUTOSUGGESTED, SUGGESTED, DELETESUGGESTED, ACCEPTED, REJECTED, AUTOACCEPTED, AUTOREJECTED, PUBLISHED, DELETED
    • Erlaubte assignmentType: MACHINE (maschinell), ARCHIVE (Archivmitarbeiter)
      • {
            "topLevelCategoryId": "0",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3H",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "creator": "mih",
            "status": "PUBLISHED"
          }
    • return void
  • PATCH /keyword-relation
    • Ändert den Status einer keyword-relation
    • Erlaubte status: AUTOSUGGESTED, SUGGESTED, DELETESUGGESTED, ACCEPTED, REJECTED, AUTOACCEPTED, AUTOREJECTED, PUBLISHED, DELETED
    • Erlaubte assignmentType: MACHINE (maschinell), ARCHIVE (Archivmitarbeiter) 
      • {
            "topLevelCategoryId": "0",
            "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
            "keywordId": "3H",
            "assignmentType": "ARCHIVE",
            "confidenceValue": 1,
            "creator": "mih",
            "status": "DELETED"
          }
    • Wird auch für Löschungen verwendet (Status: DELETED), da Objekt nicht wirklich gelöscht wird, sondern nur eine Statusänderung erfolgt.
    • returnvoid
  • DELETE /keyword-relation/<top-level-category-id>/<ddb-id>/<keyword-id>/<creator>
    • Löscht eine keyword-relation
    • return void
  • GET /keyword-relation/<top-level-category-id>/<ddb-id>/<keyword-id>/<creator>
    • Liest eine keyword-relation
    • return Object-Keyword-metadata als JSON
    • {
          "topLevelCategoryId": "0",
          "childCategoryId": "1",
          "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
          "keywordId": "3F",
          "assignmentType": "ARCHIVE",
          "confidenceValue": 1,
          "createdAt": "2020-07-21T08:26:44",
          "creator": "mih",
          "modifiedAt": "2020-07-21T08:26:44",
          "status": "PUBLISHED"
        }
  • POST /keyword-relations/<top-level-category-id>/user/<user>
    • Liefert alle keyword-relations zurück deren creator der user ist und die zur gegebenen top_level_category_id und zu den gegebenen ddbIds gehören
    • POST-Body: Liste von ddbIds
    • ['ddbId1', 'ddbId2']
    • return Object-Keyword-metadata als JSON
    • [
        {
          "topLevelCategoryId": "0",
          "childCategoryId": "1",
          "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
          "keywordId": "3F",
          "assignmentType": "ARCHIVE",
          "confidenceValue": 1,
          "createdAt": "2020-07-21T08:26:44",
          "creator": "mih",
          "modifiedAt": "2020-07-21T08:26:44",
          "status": "PUBLISHED"
        },
        {
          "topLevelCategoryId": "0",
          "childCategoryId": "1",
          "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
          "keywordId": "3H",
          "assignmentType": "ARCHIVE",
          "confidenceValue": 1,
          "createdAt": "2020-07-21T08:26:44",
          "creator": "mih",
          "modifiedAt": "2020-07-21T08:26:44",
          "status": "PUBLISHED"
        }
      ]
      
      
  • POST /keyword-relations/<top-level-category-id>/status/<status>
    • Liefert alle keyword-relations zurück deren status der gegebene status ist und die zur gegebenen top_level_category_id und zu den gegebenen ddbIds gehören.
    • POST-Body: Liste von ddbIds
    • ['ddbId1', 'ddbId2']
    • return Object-Keyword-metadata als JSON
    • [
        {
          "topLevelCategoryId": "0",
          "childCategoryId": "1",
          "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
          "keywordId": "3F",
          "assignmentType": "ARCHIVE",
          "confidenceValue": 1,
          "createdAt": "2020-07-21T08:26:44",
          "creator": "mih",
          "modifiedAt": "2020-07-21T08:26:44",
          "status": "PUBLISHED"
        },
        {
          "topLevelCategoryId": "0",
          "childCategoryId": "1",
          "ddbId": "24MF6IW4HDKUHUDEW7R5VMGCVTAE7B2T",
          "keywordId": "3H",
          "assignmentType": "ARCHIVE",
          "confidenceValue": 1,
          "createdAt": "2020-07-21T08:26:44",
          "creator": "mih1",
          "modifiedAt": "2020-07-21T08:26:44",
          "status": "PUBLISHED"
        }
      ]
      
      
  • GET cache/flush
    • Leert den Cache der den Kategorie-Schlagwort-Baum hält
  • No labels