Skip to content

Ekilex Leks API

Yogesh Sharma edited this page Aug 11, 2023 · 1 revision

Järg olemasolevale API juhendile

Järgnevad leks-orientatsiooniga andmete laadimist hõlbustavad teenused. Vajalikud eeldused kasutamiseks:

  • API liidestuja individuaalne API võti ekilex-api-key päringu header-s.
  • crudRoleDataset päringu parameeter, mis spetsifitseerib sõnakogu, mille kasutaja õiguseid rakendatakse. See parameeter ei ole päringu andmete osa

Keelendi artikli lugemine

GET /api/lex-word/details/{wordId}/{datasetCode}

  • wordId - keelendi ID, mille andmeid loetakse
  • datasetCode - sõnakogu piirang, mille järgi definitsioone ja kasutusnäiteid filtreeritakse

Päringu vastusena antakse klassile eki.ekilex.data.api.LexWord vastav andmestruktuur JSON formaadis

Keelendi artikli salvestamine

POST /api/lex-word/save

Päringu keha vastab klassi eki.ekilex.data.api.LexWord struktuurile JSON formaadis. Näidis

Reeglid

  • Kui sõnumis puudub wordId, luuakse uus keelend. Kui wordId on määratud, uuendatakse vastavat keelendit
  • Kui sõnumis puudub mõiste ja keelendil ei ole ühtegi vastava sõnakogu mõistet, siis luuakse uus mõiste

  • Kõik mõisted, millel puudub meaningId, luuakse ning seotakse vastava keelendiga
  • Kõik mõisted, millel meaningId on määratud kuid puudub seos keelendiga, seotakse vastava keelendiga
  • Kõikidel mõistetel, millel meaningIdon määratud, uuendatakse andmeid sõltumata sellest kas ta oli juba varasemalt keelendiga seotud või mitte

  • Keelendi tüüpide koodid on nimekirjas wordTypeCodes. Salvestamisel kontrollitakse, kas antud keelendil on selline tüüp olemas. Kui ei ole, siis seotakse vastav keelendi tüüp keelendiga
  • Keelendi sugu genderCode, aspekt aspectCode, hääldus vocalForm, MF kuju morphophonoForm, vormikood displayMorphCode väärtused salvestatakse alati üle.

  • Kõik keelendi sisemärkused, millel id puudub, luuakse ning seotakse vastava keelendiga
  • Kui keelendi sisemärkusel on id määratud, siis seda ei uuendata

  • Kõik keelendi seosed, millel id puudub, luuakse ning seotakse vastava keelendiga
  • Kui keelendi seosel on id määratud, siis seda ei uuendata
  • Seose loomiseks on vajalik teise keelendi id targetWordId ja seose liik relationTypeCode
  • Kui lisaks määrata vastassuuna seose liik oppositeRelationTypeCode, siis luuakse ka vastassuunaline seos

  • Kõik seletused, millel definitionId puudub, luuakse ning seotakse vastava mõistega
  • Kõik seletused, millel definitionId on määratud, nende väärtust ja keelt uuendatakse

  • Kõik kasutusnäited, millel id puudub, luuakse ning seotakse (ilmiku kaudu) vastava mõistega
  • Kõik kasutusnäited, millel id on määratud, nende väärtust, keelt ja avalikkust uuendatakse
  • Kui kasutusnäitel on avalikkus publicity määratud, siis see salvestatakse. Kui avalikkus on määramata, salvestatakse vaikimisi väärtus true

  • Kasutusnäidetele ja seletustele on võimalik lisada allikaviiteid
  • Kui allikaviite id sourceLinkId puudub, siis luuakse uus viide. Kui see on määratud, siis uuendatakse allikaviite nimetust
  • Allikaviite loomisel tuleb määrata allika id sourceId ja allikaviite nimetus value (mis enamasti on üks allika nimedest)
  • Kasutusnäite allikaviite loomisel tuleb määrata ka allikaviite tüüp type (enamasti AUTHOR või TRANSLATOR). Kui see on määramata, kasutatakse vaikisi väärtust ANY
  • Allikaviite uuendamisel tuleb määrata allikaviite id sourceLinkId ja allikaviite nimetus value