Diferență între revizuiri ale paginii „Protocol de exportare a datelor v5”

fără descrierea modificării
Linia 105: Linia 105:
Precizări:
Precizări:


* Scriptul nu trimite informații despre ștergerea unui lexem. Când un lexem este șters în ''dexonline'', el este în mod automat disociat de toate definițiile cu care era asociat. Clientul dumneavoastră va primi noua tabelă de asocieri lexeme-definiții și va face și el disocierea. Nu este o problemă dacă clientul păstrează lexemul pe termen nelimitat, deoarece el nu mai este folosit, iar ștergerea unui lexem este o operație rară.
* Scriptul nu trimite informații despre ștergerea unui lexem. Clientul dumneavoastră va primi noua tabelă de asocieri intrări-lexeme și poate observa că lexemul nu mai apare în nicio asociere. Nu este o problemă dacă clientul păstrează lexemul pe termen nelimitat, deoarece el nu mai este folosit.
* Dacă cel puțin una din formele flexionare se modifică, întreg lexemul va fi resincronizat.
* Dacă cel puțin una din formele flexionare se modifică, întreg lexemul va fi resincronizat.
* Lexemul are întotdeauna cel puțin o formă flexionară. Echipa ''dexonline'' nu a terminat încă de etichetat toate lexemele și deci paradigmele unor lexeme sunt încă necunoscute. Totuși, chiar și acele lexeme au o singură formă flexionară identică cu forma lexemului.
* Lexemul are întotdeauna cel puțin o formă flexionară. Echipa ''dexonline'' nu a terminat încă de etichetat toate lexemele și deci paradigmele unor lexeme sunt încă necunoscute. Totuși, chiar și acele lexeme au o singură formă flexionară identică cu forma lexemului.
* Există lexeme cu modele de flexionare multiple, ca de exemplu ''monedă'' cu pluralele ''monede'' sau ''monezi''. Abordarea corectă ar fi să îmbrăcăm fiecare model de flexiune într-o etichetă <tt>&lt;Model></tt>. Totuși, pentru a nu modifica formatul din mers, vom lista toate modelele concatenat. Este posibil ca unele forme flexionare să apară de mai multe ori (cum ar fi singularul ''monedă'').
* Dacă un cuvânt are mai multe modele de flexionare (cum ar fi ''monedă-monede'' și ''monedă-monezi''), vor exista două lexeme separate.
* Nu vă recomandăm să folosiți numele lexemului (cel din câmpul form) pentru căutări. Folosiți formele flexionare pentru aceasta. De cele mai multe ori, numele lexemului coincide cu prima dintre formele flexionare, iar când nu este așa, există un motiv.
* Nu vă recomandăm să folosiți numele lexemului (cel din câmpul form) pentru căutări. Folosiți formele flexionare pentru aceasta. De cele mai multe ori, numele lexemului coincide cu prima dintre formele flexionare, iar când nu este așa, există un motiv.


=== Intrări ===
=== Intrări ===


Intrările grupează lexeme cu forme sau flexiuni diferite, dar cu sensuri identice. Exemple: ''căpșună'' (pl. ''căpșuni'') și ''căpșună'' (pl. ''căpșune''), ''tr'afic'' și ''traf'ic'' etc. Fiecare lexem aparține exact unei intrări. Majoritatea intrărilor vor cuprinde un singur lexem. Intrările sunt obiecte minimale. În afară de ID, ele conțin doar o descriere, de obicei egală cu forma lexemului cuprins (fără accent).
Intrările grupează lexeme cu forme sau flexiuni diferite, dar cu sensuri identice. Exemple: ''căpșună'' (pl. ''căpșuni'') și ''căpșună'' (pl. ''căpșune''), ''tr'afic'' și ''traf'ic'' etc. Intrările sunt asociate ''many-to-many'' cu definiții și cu lexeme. În rest, intrările sunt obiecte minimale. În afară de ID, ele conțin doar o descriere, de obicei egală cu forma unuia dintre lexeme (fără accent).


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
Linia 159: Linia 159:
   <Unmap entryId="1234" definitionId="89071"/>    ;; Disociază intrarea 1234 de definiția 89071 -- numai în fișierele diff
   <Unmap entryId="1234" definitionId="89071"/>    ;; Disociază intrarea 1234 de definiția 89071 -- numai în fișierele diff
</EntryDefinition>
</EntryDefinition>
</syntaxhighlight>
=== Asocieri intrări-lexeme ===
Această categorie exportă asocierile între intrări și lexeme, care sunt de tipul ''many-to-many'' (o intrare ca ''monedă'' poate conține mai multe lexeme ca ''monedă-monede'' și ''monedă-monezi'', iar un lexem ca ''broască'' poate fi parte din mai multe intrări omonime: animalul și mecanismul).
<syntaxhighlight lang="xml">
<EntryLexem>
  <Map entryId="12345" lexemId="98723"/>      ;; Asociază intrarea 12345 cu lexemul 98723
  <Map entryId="12345" lexemId="98724"/>
  <Unmap entryId="1234" lexemId="89071"/>    ;; Disociază intrarea 1234 de lexemul 89071 -- numai în fișierele diff
</EntryLexem>
</syntaxhighlight>
</syntaxhighlight>


Linia 212: Linia 224:
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<Files>
<Files>
   <Full date="2011-09-18">
   <Full date="2017-04-22">
     <Abbrevs>http://static.dexonline.ro/download/xmldump/2011-09-18-abbrevs.xml.gz</Abbrevs>
     <Abbrevs>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-abbrevs.xml.gz</Abbrevs>
     <Inflections>http://static.dexonline.ro/download/xmldump/2011-09-18-inflections.xml.gz</Inflections>
     <Inflections>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-inflections.xml.gz</Inflections>
     <Sources>http://static.dexonline.ro/download/xmldump/2011-09-18-sources.xml.gz</Sources>
     <Sources>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-sources.xml.gz</Sources>
     <Definitions>http://static.dexonline.ro/download/xmldump/2011-09-18-definitions.xml.gz</Definitions>
     <Definitions>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-definitions.xml.gz</Definitions>
     <Lexems>http://static.dexonline.ro/download/xmldump/2011-09-18-lexems.xml.gz</Lexems>
     <Entries>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-entries.xml.gz</Entries>
     <LexemDefinitionMap>http://static.dexonline.ro/download/xmldump/2011-09-18-ldm.xml.gz</LexemDefinitionMap>
    <Lexems>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-lexems.xml.gz</Lexems>
     <EntryDefinitionMap>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-edm.xml.gz</EntryDefinitionMap>
    <EntryLexemMap>https://dexonline.ro/static/download/xmldump/v5/2017-04-22-elm.xml.gz</EntryLexemMap>
   </Full>
   </Full>
   <Diffs>
   <Diffs></Diffs>
  </Diffs>
</Files>
</Files>
</syntaxhighlight>
</syntaxhighlight>


Aplicația trebuie să păstreze valoarea <tt>2011-09-18</tt> a atributului <tt>date</tt>. Aceasta este data setului de date care îi este servit. Dacă clientul solicită din nou actualizarea peste câtva timp, trebuie să apeleze scriptul http://dexonline.ro/update5.php?last=2011-09-18 pentru a primi noutățile survenite de la ultima sincronizare:
Aplicația trebuie să păstreze valoarea <tt>2017-04-22</tt> a atributului <tt>date</tt>. Aceasta este data setului de date care îi este servit. Dacă clientul solicită din nou actualizarea peste câtva timp, trebuie să apeleze scriptul http://dexonline.ro/update5.php?last=2017-04-22 pentru a primi noutățile survenite de la ultima sincronizare:


<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<Files>
<Files>
   <Full date="2011-10-09">
   <Full date="2017-05-06">
     <Abbrevs>http://static.dexonline.ro/download/xmldump/2011-10-09-abbrevs.xml.gz</Abbrevs>
     <Abbrevs>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-abbrevs.xml.gz</Abbrevs>
     <Inflections>http://static.dexonline.ro/download/xmldump/2011-10-09-inflections.xml.gz</Inflections>
     <Inflections>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-inflections.xml.gz</Inflections>
     <Sources>http://static.dexonline.ro/download/xmldump/2011-10-09-sources.xml.gz</Sources>
     <Sources>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-sources.xml.gz</Sources>
   </Full>
   </Full>
   <Diffs>
   <Diffs>
     <Diff date="2011-09-25">
     <Diff date="2017-04-29">
       <Definitions>http://static.dexonline.ro/download/xmldump/2011-09-25-definitions-diff.xml.gz</Definitions>
       <Definitions>https://dexonline.ro/static/download/xmldump/v5/2017-04-29-definitions-diff.xml.gz</Definitions>
       <Lexems>http://static.dexonline.ro/download/xmldump/2011-09-25-lexems-diff.xml.gz</Lexems>
       <Entries>https://dexonline.ro/static/download/xmldump/v5/2017-04-29-entries-diff.xml.gz</Entries>
       <LexemDefinitionMap>http://static.dexonline.ro/download/xmldump/2011-09-25-ldm-diff.xml.gz</LexemDefinitionMap>
       <Lexems>https://dexonline.ro/static/download/xmldump/v5/2017-04-29-lexems-diff.xml.gz</Lexems>
    </Diff>
       <EntryDefinitionMap>https://dexonline.ro/static/download/xmldump/v5/2017-04-29-edm-diff.xml.gz</EntryDefinitionMap>
    <Diff date="2011-10-02">
       <EntryLexemMap>https://dexonline.ro/static/download/xmldump/v5/2017-04-29-elm-diff.xml.gz</EntryLexemMap>
       <Definitions>http://static.dexonline.ro/download/xmldump/2011-10-02-definitions-diff.xml.gz</Definitions>
       <Lexems>http://static.dexonline.ro/download/xmldump/2011-10-02-lexems-diff.xml.gz</Lexems>
      <LexemDefinitionMap>http://static.dexonline.ro/download/xmldump/2011-10-02-ldm-diff.xml.gz</LexemDefinitionMap>
     </Diff>
     </Diff>
     <Diff date="2011-10-09">
     <Diff date="2017-05-06">
       <Definitions>http://static.dexonline.ro/download/xmldump/2011-10-09-definitions-diff.xml.gz</Definitions>
       <Definitions>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-definitions-diff.xml.gz</Definitions>
       <Lexems>http://static.dexonline.ro/download/xmldump/2011-10-09-lexems-diff.xml.gz</Lexems>
       <Entries>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-entries-diff.xml.gz</Entries>
       <LexemDefinitionMap>http://static.dexonline.ro/download/xmldump/2011-10-09-ldm-diff.xml.gz</LexemDefinitionMap>
      <Lexems>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-lexems-diff.xml.gz</Lexems>
       <EntryDefinitionMap>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-edm-diff.xml.gz</EntryDefinitionMap>
      <EntryLexemMap>https://dexonline.ro/static/download/xmldump/v5/2017-05-06-elm-diff.xml.gz</EntryLexemMap>
     </Diff>
     </Diff>
   </Diffs>
   </Diffs>
Linia 254: Linia 266:
</syntaxhighlight>
</syntaxhighlight>


Datele din secțiunea <tt>Full</tt> (abrevieri, flexiuni și surse) sunt întotdeauna servite integral. Datele din secțiunea <tt>Diffs</tt> (definiții, lexeme și asocieri) sunt servite în diferențe incrementale, generate de regulă săptămânal. Diff-urile din secțiunile <tt>Diff</tt> sunt servite în ordine cronologică.
Datele din secțiunea <tt>Full</tt> (abrevieri, flexiuni și surse) sunt întotdeauna servite integral. Datele din secțiunea <tt>Diffs</tt> (definiții, intrări, lexeme și asocieri) sunt servite în diferențe incrementale, generate de regulă săptămânal. Diff-urile din secțiunile <tt>Diff</tt> sunt servite în ordine cronologică.