Skip to content

Repository files navigation

SRB-ONOMASTICON

Interaktivna svetska karta i baza toponima, hidronima i oronima izvedenih iz četiri slovenska etnonima, sa paleobalkanskim slojem, arhaizirajućim egzonimima i raškim korpusom, i sa kritičkom etimološkom analizom svakog naziva.

578 unosa · 62 države i teritorije · od Sardinije do Dagestana, od Teksasa do Sinaja.

Uživo na srb.do.rs.

Podaci su podeljeni na sedam imenskih porodica, koje se na karti prikazuju različitim bojama:

Porodica Koreni Unosa Boja
SRB srb- serb- sarb- sorb- sorab- sard- serd- sirb- surb- zerv- serv- sueb- suav- sebr- pasrb- 225 zlatna
RAS ras- arsa- rasc- rac- raizen- rasin- rasna- rasen- tirsen- etrusk- ret- rha- rosa- 50 zelena
VEN venet- vened- vend- vind- vent- vene- wend- wind- winid- enet- 58 tirkizna
ANT ant- anti- ante- 17 ljubičasta
SLAV sclav- sklav- slav- slov- sloven- schiav- esclav- saqlab- 64 ružičasta
ARH tribal- mizij- get- dak- skit- paion- ilir- ilirik- dalmat- sarmat- got- 44 siva
PAL tribal- moes- dardan- ilir- delmat- dak- trak- panon- paion- makedon- i dr. 120 terakota

Porodice SRB, VEN, ANT i SLAV čine Jordanesov okvir. Podela nije proizvoljna — postavio ju je Jordanes 551. godine: „ab una stirpe exorti, tria nunc nomina ediderunt, id est Venethi, Antes, Sclaveni". Sve tri grane te trijade su u bazi, a uz njih i SRB — ime jednog konkretnog naroda, koje se u izvorima javlja unutar tog okvira, nikada umesto njega. Hijerarhija je potvrđena iz tri nezavisna pravca: Fredegar 631. godine naziva Samove podanike Winidi, a Drvanove Surbi; Ajnhard oko 830. navodi Sorabi kao jedno od četiri plemena pod krovnim imenom Sclavi; isti Ptolomej beleži i Οὐενέδαι na Visli i Σέρβοι iza Volge, a ista Tabula Peutingeriana pominje Venedi dvaput, a Srbe nijednom. Odatle i hronologija: Venedi od I veka, Anti i Sclaveni od VI, Surbi od VII.

Suebi, Suavi i etimološka rodbina *sьrbъ

Unutar porodice SRB stoji poseban sloj koji odgovara na najčešće postavljano pitanje o „varijantama" srpskog imena. On ima tri dela, sa tri različite ocene veze:

  • Germanski sueb- / suav- kao kontrolna grupa. Suebi, Švapska, Semnoni, Suioni, kraljevstvo Sueba u Galeciji, Mare Suebicum. Ime se izvodi iz pragermanskog *swēbaz, uz pridev *swēsa- „svoj", iz ie. *swe- — dakle isto značenje kao kod *sьrbъ („rod, saveznici"). Izjednačenje ipak ne prolazi, i to zbog jednog suglasnika: u *sьrbъ je r deo korena i stoji u svakoj potvrdi kroz sedam vekova (Surbi 631, Sorabi 822, Σέρβλοι 950, Zribia 1120), a u *swēb- ga nema niti postoji glasovni zakon koji bi ga proizveo. Sloj je u bazi označen kao nepovezano — ne zato što pitanje nije vredno, nego zato što je provereno.
  • Odakle zabuna zaista dolazi. Baza pokazuje tri konkretna izvora, svaki sa svojim unosom: pravopisni (zapadnogermanski pomak menja Suebi u Suavi baš kad se Sloveni javljaju kao Sclavi), geografski (župa Suavia / Schwabengau na zapadnoj obali Saale, slovenski Serimunt sa Cerbstom na istočnoj, često u istoj otonskoj povelji), i grafijski (Suurbi je obično Surbi, jer udvojeno uu u tim skriptorijama beleži w). Tu su i sporni tekstovi: Vibije Sekvester („Albis Germaniae Suevos a Cerveciis dividit"), „Sueui non sunt nati sed seminati" Bavarskog geografa, i teza Kentšinjskog i Kujota da su Suebi bili Sloveni — oborena time što suebski jezički materijal nema slovenskih crta.
  • Stvarna leksička rodbina. Ono što po važećoj etimologiji jeste u rodu sa etnonimom: *pasъrbъ „pastorak" (polj. pasierb, rus. пасерб) i ukr. присербитися „pridružiti se" kod Fasmera, te srbati / sierbać „srkati" i pojam mlečnog srodstva kod Šuster-Ševca. Uz njih i konkurentske etimologije kao sporne: *sębrъ „sebar" (semantički savršeno, ali ga nosno ę odvaja), iranska hipoteza Trubačova i Lome, hidronimska Rosponda i Kozjerovskog, te Semberija sa svoje tri nerešene etimologije.

Zašto ras- ima svoju porodicu

Niz ras- nije jedan koren nego najmanje četiri nezavisna, i porodica postoji da bi ih razdvojila.

  • Raški kompleks (direct). Zapad Srbiju vekovima ne zove Srbijom. Od kotorske povelje iz 1186, u kojoj je Nemanja „župan Rascie", papska kancelarija piše Rascia, Ugari Rácország, Nemci Raizen, a habzburška uprava svoje srpske podanike vodi kao Natio Rasciana. Sve to izvire iz tvrđave Ras kod Novog Pazara, čije ime i samo potiče od predslovenske Ἄρσα koju Prokopije navodi među dardanskim kastelima. Ko traži samo koren srb-, gubi ceo latinski, ugarski i nemački korpus. Vizantija, za razliku od Zapada, Rasciju ne koristi nikada — ona piše Σερβία.
  • Etrursko rasna (unrelated). Samoime Etruraca, koje u njihovim natpisima znači prosto „narod": meχlum rasnal „zajednica naroda", tular rasnal „međa naroda". Izjednačenje sa Rašanima pada na tri nezavisna mesta: značenje reči, hronologija (etrurski natpisi prestaju u I veku, ime Ras javlja se u VI, horonim Raška u XII) i jezik — etrurski nije indoevropski, nego od Riksa (1998) pripada tirsenskoj porodici sa retskim i lemnoskim. Porodica sadrži i unose o slovenskim čitanjima etrurskih natpisa, od Volanjskog (1846) preko Bilbije (1984) do Pešića i Luković-Pjanović.
  • Semitsko raʾs „glava, rt" (unrelated). Ras Šamra, Ras al-Hajma, Ras Tanura, Ras Dašen i etiopska titula ras iz koje je nastalo rastafarijanstvo.
  • Indoevropsko *ros- „rosa, vlaga" (unrelated). Hidronimski koren koji daje Rasinu, istarsku Rašu (ant. Arsia), Ptolomejevo Ῥᾶ za Volgu, vedsku Rasā i litavsko rasà.

Polje link u ovoj porodici meri vezu sa raškim kompleksom kao referentnim imenom. Najkorisniji kontrolni primer su Reti: Livije prenosi predanje da su bili Etrurci potisnuti u Alpe, i to se predanje — jedinstveno među antičkim vestima o srodstvu naroda — obistinilo. Razlika u odnosu na sve ostale takve priče nije u uverljivosti nego u tome što ovde postoji trista sačuvanih natpisa koji se mogu uporediti, i oni se slažu.

Zašto ARH i PAL stoje odvojeno

Porodice ARH i PAL ne pripadaju Jordanesovom okviru i postoje zbog jedne jedine razlike, koja je najvažnija u celoj bazi. Imena poput Tribali, Mizijci i Dardanci stižu do savremene rasprave o Srbima dvama potpuno nepovezanim putevima, a njihovo spajanje proizvodi tvrdnju da Srbi potiču od Tribala:

  • ARH — arhaizirajuća upotreba. Vizantijska aticizirajuća istoriografija svesno oblači savremene narode u klasična imena: Halkokondil i Kritovul Srbe zovu Τριβαλλοί, Ana Komnina i Honijat Bugare Μυσοί, Mađare Παίονες, Osmanlije Σκύθαι. To je retorički registar, ne etnografska tvrdnja — isti pisac koji Srbe zove Tribalima zna i piše da govore slovenski, a zvanične povelje istog veka Đurđa Brankovića nazivaju δεσπότης Σερβίας. Porodica obuhvata i renesansni slavizam (Pribojević 1532, Orbini 1601, Vitezović 1700, Rajić 1794) i administrativno stvaran život imena Illyria: habzburške Privilegia Illyrica (1690–95) pod kojima su Srbi službeno Natio Illyrica, Illyrische Hofdeputation (1745), Napoleonove Ilirske provincije, Kraljevinu Iliriju (1816–49) i ilirski pokret.
  • PAL — stvarni narodi. Tribali, Dardanci, Mezi, Iliri, Dačani i Peonci bili su gvozdenodopski narodi čija je sudbina bila romanizacija severno od Jirečekove linije i helenizacija južno od nje. Njihovi jezički potomci su Vlasi i Aromuni, delimično i Albanci — ne Sloveni. Presudan negativan dokaz je supstratni rečnik: rumunski i albanski dele oko stotinu reči paleobalkanskog porekla (brad / bredh, vatră / vatër), a u srpskom takvog sloja nema.
  • Ono što jeste kontinuitet je toponimijsko. Naissus → Niš, Scupi → Skopje, Ulpiana → Lipljan, Doclea → Duklja, Astibo → Štip, Serdica → Sredec, Lychnidos → Ohrid. Svaki od tih prelaza fonetski je moguć samo preko romanskog ili grčkog posrednika. Kontrolni primeri potvrđuju pravilo sa druge strane: tamo gde je gradski život prekinut, ime je nestalo (Viminacium → Braničevo, Bylazora → Veles).

Unosi porodice PAL nose i dodatno polje group — jezičku pripadnost (ilirska, tračka, dačko-getska, keltska, pajonska, grčka, romanska, neutvrđena) — po kojoj se karta može posebno filtrirati.

Svaki unos je klasifikovan i prema tome da li je stvarno izveden iz etnonima ili je u pitanju homonimija — što je i glavni rezultat: preko trećine svih naziva nema nikakve veze sa odgovarajućim etnonimom. Kod porodice SRB izvor zabune je latinski sorbus (oskoruša), rimsko ime Servius, persijsko sar- („čelo") i lidijski Sfard; kod porodice VEN keltski pridev *vindo- „beo" (Vindobona → Beč, Vindonissa → Windisch, Vindolanda) i britski apelativ venta „polje, tržište" (Winchester, Caerwent); kod porodice ANT grčko ἀντί „nasuprot" i, najopasnije, na stotine ukrajinskih sela Antonivka — na tačno onom prostoru gde su Anti živeli, ali od hrišćanskog imena Anton; kod porodice SLAV, ubedljivo najmasovnije, praslovensko *slava „slava" u dvočlanim ličnim imenima, odakle Wrocław (< Vratislav), Bratislava (< Braslav), Slavkov (< Slavek), Preslav i Sławno.


Pokretanje

Aplikacija je statična — nema build koraka i nema zavisnosti koje se instaliraju.

Najjednostavnije: dvoklik na index.html.

Preko lokalnog servera (preporučeno, izbegava eventualna ograničenja file:// protokola):

npx serve -l 4173 .
# pa otvoriti http://localhost:4173

ili sa Pythonom:

python -m http.server 4173

Leaflet i pločice mape se učitavaju sa CDN-a, pa je za rad karte potrebna internet veza. Tabele i tekst metodologije rade i offline.


Šta aplikacija nudi

Karta — svetska karta sa grupisanjem markera (clustering). Prelaskom miša preko markera pojavljuje se kartica sa nazivom, današnjim imenom, tipom objekta, korenom, lokacijom, prvim pisanim tragom i koordinatama u decimalnom i u DMS zapisu. Klik otvara panel sa punom etimološkom analizom i spiskom izvora, plus linkovi ka OpenStreetMap-u, Google Maps-u i Vikipediji.

Oblik markera označava tip objekta, a boja se prebacuje između dve analitičke ose (prekidač Boja markera u levoj traci):

Režim „po porodici" Režim „po vezi" Oblik Tip
zlatna — SRB zelena — potvrđena veza krug toponim
tirkizna — VEN plava — verovatna veza romb hidronim
ljubičasta — ANT žuta — sporna / diskutabilna trougao oronim
ružičasta — SLAV crvena — nepovezano (homonimija) kvadrat horonim
siva — ARH violet — arhaizirajući egzonim isprekidani krug etnonim
terakota — PAL
zelena — RAS
šupalj marker — homonimija

Podrazumevani režim je „po porodici". U njemu se šupljim markerom i dalje izdvajaju imena koja samo zvuče slično, pa su obe ose vidljive istovremeno.

Filteri — po porodici etnonima, kategoriji, vezi sa etnonimom, tipu objekta, jezičkoj pripadnosti (samo paleobalkanski sloj), korenu i periodu prvog pomena, uz punotekstualnu pretragu koja obuhvata i tekst etimologije i spisak izvora. Filteri se kombinuju.

Tabele — isti podaci, grupisani prvo po porodici etnonima, pa unutar nje po četiri tražene geografsko-istorijske kategorije (plus dodatak za dijasporu), sa sortiranjem po svakoj koloni. Klik na red otvara detaljni panel.

Metodologija — pregled korišćenih izvora, kriterijuma klasifikacije i ograničenja.

Izvoz — trenutno filtrirani skup u CSV, JSON ili GeoJSON. GeoJSON se može direktno učitati u QGIS, ArcGIS ili geojson.io.

Na telefonu — do 900px širine bočna traka prestaje da bude stalna kolona i postaje fioka koja izlazi preko sadržaja, sa zastorom iza sebe; zatvara se na tri načina (zastor, ×, dugme na dnu), a to dugme ponavlja broj pogodaka jer je brojač na vrhu posle biranja filtera van vidokruga. Ispod 700px prebacivanje prikaza silazi u donju traku, na dohvat palca, a njena visina se oduzima od rasporeda pa ništa ne prekriva. Tabela od sedam kolona se tu raspada u kartice, sa nazivima kolona kao oznakama polja. Legenda bi zauzela trećinu male karte pa stoji sklopljena dok se ne dodirne. Oblačić na prelaz miša se na uređajima bez pokazivača gasi — dodir ionako otvara pun panel sa istim podacima. Dodirne mete su vezane za širinu ekrana, a ne samo za hover: none, jer hibridni uređaji prijavljuju pokazivač iako se koriste prstom.

Pismo — prekidač gore desno bira ćirilicu ili latinicu; ćirilica je podrazumevana, a izbor se pamti u localStorage. Baza je pisana latinicom i puna je latiničnih stranih oblika koje preslovljavanje ne sme da pokvari, pa ono nije doslovno nego u tri sloja zaštite:

  1. Citatna polja ostaju latinicom u celosti — naziv unosa, izvorni oblik, današnji naziv, koren, prvi pisani trag i spisak izvora. To je i uobičajena praksa srpskih naučnih izdanja: ćirilični tekst sa latiničnim stranim imenima i latiničnom bibliografijom. U DOM-u nose atribut data-lat.
  2. Reči koje srpska azbuka ne može da zapiše ostaju latinicom — svaka reč sa q, w, x, y ili dijakritikom koji nije č ć đ š ž: Wolański, Râșnov, Székesfehérvár.
  3. Oblici izvučeni iz same baze — polje local po definiciji sadrži izvorni oblik imena, pa se iz njega automatski gradi spisak od oko 560 latiničnih oblika (Seruia, Sorbenland, Raitzenstadt) koje niko ne bi popisao ručno. Polja name i src se namerno ne koriste, jer sadrže i srpska imena i srpske naslove — iz njih bi u zaštitu upale obične srpske reči.
  4. Imenovani izuzeci — ostalo što pravila 2 i 3 ne hvataju: Suebi, olim, Superior, nazivi formata i marki. Uz to <code> u metodologiji drži jezičke oblike i ne preslovljava se.

Pravilo 3 ima i svoj protivteg: IZ_BAZE_STOP u js/translit.js izuzima reči koje se u polju local javljaju kao deo imena ali su u prozi obične srpske reči — ras, rosa, narod, Srbi, Sloveni. Bez toga bi „Арса > Рас" ostalo „Arsa > Ras". Oba spiska se dopunjuju po potrebi.

Grčki, arapski i svako drugo nelatinično pismo ostaju netaknuti sami po sebi. Izvoz uvek daje latinicu, jer čita iz baze a ne iz prikaza; latinični prikaz je merodavan. Pretraga radi u oba pisma — ćirilični upit se pre poređenja prevodi u latinicu.


Struktura projekta

index.html                  # struktura stranice
css/styles.css              # stilovi
js/core.js                  # shema zapisa, porodice, kategorije, boje, tipovi
js/data-cat1-balkan.js      # SRB · Kategorija 1 — Balkansko poluostrvo (60)
js/data-cat2-europa.js      # SRB · Kategorija 2 — Centralna i Istočna Evropa (60)
js/data-cat3-azija.js       # SRB · Kategorija 3 — Kavkaz, Mala Azija, Bliski istok (28)
js/data-cat4-zapad.js       # SRB · Kategorija 4 — Mediteran i Zapadna Evropa (35) + Kat. 5 (3)
js/data-veneti.js           # VEN · Veneti / Venedi / Wenden / Winden / Vjatiči (58)
js/data-anti.js             # ANT · Anti (Ἄνται) (17)
js/data-slaveni.js          # SLAV · Sclaveni / Sklavini / Slověne / Ṣaqāliba (64)
js/data-arhaizmi.js         # ARH  · arhaizirajući egzonimi i ilirsko ime u upravi (44)
js/data-paleobalkan.js      # PAL  · paleobalkanski narodi i izvedena geografija (120)
js/data-varijante.js        # SRB · sueb-/suav- kontrolna grupa, rodbina *sьrbъ, grafije (39)
js/data-ras.js              # RAS  · raški kompleks, etrursko Rasna, semitsko raʾs, ie. *ros- (50)
js/app.js                   # karta, filteri, tabele, izvoz
js/translit.js              # preslovljavanje lat↔ćir sa zaštitom stranih oblika
tools/build-report.js       # provera integriteta baze + generator izveštaja
tools/smoke-test.js         # pokreće app.js u jsdom-u i proverava ponašanje
IZVESTAJ.md                 # izveštaj sa tabelama (generisan iz baze)

Aplikacija u pregledaču nema zavisnosti; jedina razvojna zavisnost je jsdom, koji koristi samo tools/smoke-test.js.

Shema zapisa

{
  id: 'b005',                       // jedinstveni identifikator
  name: 'Servia',                   // naziv pod kojim je zabeležen
  local: 'Σέρβια',                  // izvorno pismo / jezik
  modern: 'Servia (Σέρβια), Kozani',// današnji naziv; prazno ako je nepromenjen
  type: 'toponim',                  // toponim | hidronim | oronim | horonim | etnonim
  family: 'srb',                    // srb | ven | ant | slav | arh | pal | ras — podrazumevano srb
  root: 'serv',                     // koren iz upitnika
  group: undefined,                 // OPCIONO, samo PAL: jezička pripadnost
                                    // ilirska | tracka | dackogetska | keltska |
                                    // pajonska | grcka | romanska | neutvrdjena
  cat: 1,                           // 1–5, geografsko-istorijska kategorija
  country: 'Grčka',
  region: 'Zapadna Makedonija, Kozani',
  lat: 40.1833, lon: 21.9833,       // WGS84
  attested: 'X–XI vek (…)',         // prvi pisani trag
  period: 'Rani srednji vek',       // Antika | Kasna antika | Rani srednji vek |
                                    // Srednji vek | Novi vek | Moderno doba
  etym: '…',                        // etimološka analiza i kritička beleška
  link: 'disputed',                 // direct | probable | disputed | unrelated | literary
  conf: 'visoka',                   // pouzdanost LOKACIJE i identifikacije
  src: ['…']                        // izvori i literatura
}

Polje link je glavna analitička osa i odgovara na pitanje da li naziv ima veze sa etnonimom. Vrednost literary je uvedena zbog porodice ARH: za Τριβαλλοί kao ime za Srbe podjednako je pogrešno reći „potvrđena veza" (pripisalo bi etničku sadržinu koju taj naziv nema) i „nepovezano" (zanemarilo bi da je vekovima bio zvanično ime jednog naroda).

Polje family je druga osa i određuje o kom je imenu reč; ako se izostavi, zapis se svrstava u izvorni srb korpus. Polje group je opciono i nose ga samo paleobalkanski unosi. Polje conf se odnosi isključivo na ubikaciju i identifikaciju, ne na etimologiju — antički lokaliteti poput Gordoservona imaju pretpostavljene koordinate.

Dodavanje novih unosa

Dopisati objekat u odgovarajući js/data-*.js (poštujući shemu), zatim regenerisati izveštaj:

node tools/build-report.js

Generator prvo proverava integritet baze — jedinstvenost identifikatora, ispravnost koordinata, i da li se svaka vrednost polja family, cat, type, link, conf, period, root i (ako postoji) group može razrešiti u core.js. Ako nešto ne valja, ispisuje spisak problema i prekida rad, pa aplikacija ne može da se nađe u stanju sa neispravnim zapisom. Filtere i sve brojače aplikacija gradi sama iz podataka, pa nikakve druge izmene nisu potrebne.

Cela provera — sintaksa, integritet baze i ponašanje aplikacije — pokreće se sa:

npm run check

tools/smoke-test.js učitava index.html i sve skripte u jsdom, sa minimalnim Leaflet stubom, pa proverava da se markeri iscrtaju za svaki zapis, da svih sedam porodica i svih pet vrednosti polja link imaju zapise i da se iscrtaju u oba režima boje, da filteri (uključujući jezičku pripadnost) i pretraga sužavaju i kartu i tabelu na isti broj, da su porodice u tabeli poređane po order iz core.js, i da detaljni panel radi za svaku porodicu. Za uski ekran ima podesiv matchMedia (jsdom ga nema), pa se ponašanje fioke stvarno pokreće: otvaranje, sva tri izlaza, Escape, sklopljena legenda i čišćenje stanja pri povratku na stonu širinu. Za preslovljavanje proverava da se stranica podiže u ćirilici, da povratni prolaz vrati tačno original i — najvažnije — da svih 578 naziva u tabeli stoji doslovno kao u bazi i u ćiriličnom prikazu.


Ograničenja i upozorenje

Ovo je istraživački alat, ne konačan naučni katalog. Koordinate antičkih i neubiciranih lokaliteta (Gordoservon, Ptolomejevi Serboi, Bela Srbija) predstavljaju najprihvaćeniju naučnu pretpostavku, a ne merenje, i označene su niskom pouzdanošću. Mikrotoponimi iz katastara i osmanskih deftera navedeni su reprezentativnim tačkama jer ih ima previše za pojedinačno kartiranje. Nekoliko unosa iz Albanije, Bugarske i Slovačke izričito je označeno kao „zahteva terensku proveru".

Svaki unos pre naučne upotrebe treba proveriti u navedenoj primarnoj literaturi.

Podaci mapa

Pločice: OpenStreetMap, CARTO, OpenTopoMap (CC-BY-SA). Biblioteke: Leaflet 1.9.4 i Leaflet.markercluster 1.5.3.

About

Interaktivna svetska karta i baza toponima, hidronima i oronima iz sedam imenskih porodica, sa kritickom etimoloskom analizom svakog naziva

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages