{"id":115237,"date":"2024-04-22T14:30:04","date_gmt":"2024-04-22T12:30:04","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0"},"modified":"2024-04-22T14:30:04","modified_gmt":"2024-04-22T12:30:04","slug":"vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","title":{"rendered":"Vyd\u00e1n\u00ed rela\u010dn\u011b-grafov\u00e9 datab\u00e1ze EdgeDB 5.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Je k dispozici vyd\u00e1n\u00ed datab\u00e1ze EdgeDB 5.0, kter\u00e1 implementuje rela\u010dn\u011b-grafov\u00fd model dat a dotazovac\u00ed jazyk EdgeQL, optimalizovan\u00e9 pro pr\u00e1ci se slo\u017eit\u00fdmi hierarchick\u00fdmi daty. Projekt se vyv\u00edj\u00ed jako nadstavba nad PostgreSQL, p\u0159i\u010dem\u017e k\u00f3d je naps\u00e1n v Pythonu a Rustu (parser a v\u00fdkonn\u00e9 \u010d\u00e1sti) a je distribuov\u00e1n pod licenc\u00ed Apache 2.0. Klientsk\u00e9 knihovny jsou p\u0159ipraveny pro jazyky Python, Go, Rust, .NET, Elixir a TypeScript\/Javascript. Je k dispozici n\u00e1stroj p\u0159\u00edkazov\u00e9ho \u0159\u00e1dku pro spr\u00e1vu datab\u00e1ze a interaktivn\u00ed prov\u00e1d\u011bn\u00ed dotaz\u016f (REPL).    <\/p>\n<p>M\u00edsto modelu dat zalo\u017een\u00e9ho na tabulk\u00e1ch pou\u017e\u00edv\u00e1 EdgeDB deklarativn\u00ed syst\u00e9m zalo\u017een\u00fd na objektov\u00fdch typech. M\u00edsto ciz\u00edch kl\u00ed\u010d\u016f (foreign key) pro ur\u010den\u00ed vazeb mezi typy se pou\u017e\u00edv\u00e1 propojov\u00e1n\u00ed odkazy (jeden objekt m\u016f\u017ee b\u00fdt pou\u017eit jako vlastnost jin\u00e9ho objektu).   <\/p>\n<p>     type Person {       required name: str;     }     type Movie {       required title: str;       multi actors: Person;     }      <\/p>\n<p>Podporuj\u00ed se takov\u00e9 funkce jako p\u0159\u00edsn\u00e1 typizace vlastnost\u00ed, omezen\u00ed hodnot vlastnost\u00ed, vypo\u010d\u00edt\u00e1van\u00e9 vlastnosti a ulo\u017een\u00e9 procedury. Mezi rysy objektov\u00e9ho sch\u00e9matu ukl\u00e1d\u00e1n\u00ed EdgeDB, kter\u00e9 p\u0159ipom\u00edn\u00e1 ORM, lze zm\u00ednit mo\u017enost m\u00edsen\u00ed sch\u00e9mat, propojov\u00e1n\u00ed vlastnost\u00ed z r\u016fzn\u00fdch objekt\u016f a integrovanou podporu JSON. Pro urychlen\u00ed zpracov\u00e1n\u00ed dotaz\u016f mohou b\u00fdt pou\u017eity indexy.     <\/p>\n<p>Jsou k dispozici vestav\u011bn\u00e9 n\u00e1stroje pro migraci sch\u00e9matu ukl\u00e1d\u00e1n\u00ed \u2014 po zm\u011bn\u011b sch\u00e9matu uveden\u00e9ho v samostatn\u00e9m esdl souboru sta\u010d\u00ed prov\u00e9st p\u0159\u00edkaz \u201eedgedb migration create\u201c a DBMS analyzuje rozd\u00edly ve sch\u00e9matu a interaktivn\u011b vygeneruje skript pro p\u0159echod na nov\u00e9 sch\u00e9ma. Historie zm\u011bn sch\u00e9matu se automaticky sleduje.    <\/p>\n<p>Pro vytv\u00e1\u0159en\u00ed dotaz\u016f se podporuje jazyk GraphQL a vlastn\u00ed jazyk EdgeDB, co\u017e je adaptace SQL pro hierarchick\u00e1 data. M\u00edsto seznam\u016f jsou v\u00fdsledky dotazu strukturov\u00e1ny a m\u00edsto poddotaz\u016f a operac\u00ed JOIN se nab\u00edz\u00ed mo\u017enost zahrnout jeden dotaz EdgeQL jako v\u00fdraz uvnit\u0159 jin\u00e9ho dotazu. Podporuj\u00ed se transakce a smy\u010dky.    <\/p>\n<p>     select Movie {       title,       actors: {         name       }     }     filter .title = \u201eThe Matrix\u201c       insert Movie {       title := \u201eThe Matrix Resurrections\u201c,       actors := (         select Person         filter .name in {           \u2018Keanu Reeves\u2019,           \u2018Carrie-Anne Moss\u2019,           \u2018Laurence Fishburne\u2019         }       )     }      <\/p>\n<p>V nov\u00e9 verzi:  <\/p>\n<ul>\n<li class=\"l\">Byla p\u0159id\u00e1na podpora v\u011btven\u00ed (\u201ebranching\u201c), kter\u00e1 umo\u017e\u0148uje pou\u017e\u00edvat p\u0159i pr\u00e1ci s daty a sch\u00e9maty pojem v\u011btve, u\u017e\u00edvan\u00fd v syst\u00e9mech pro \u0159\u00edzen\u00ed verz\u00ed. M\u00edsto term\u00ednu \u201edatab\u00e1ze\u201c je v nov\u00e9 verzi navr\u017een pojem \u201ev\u011btev\u201c (branch), a p\u0159\u00edkazy \u201ecreate database\u201c a \u201edrop database\u201c byly ozna\u010deny za zastaral\u00e9 a nam\u00edsto nich se doporu\u010duje pou\u017e\u00edvat nov\u00e9 p\u0159\u00edkazy \u201ecreate empty branch\u201c a \u201edrop branch\u201c. Krom\u011b pr\u00e1zdn\u00fdch v\u011btv\u00ed lze pomoc\u00ed p\u0159\u00edkaz\u016f \u201ecreate schema branch\u201c a \u201ecreate data branch\u201c vytv\u00e1\u0159et odvozen\u00e9 v\u011btve z existuj\u00edc\u00edch v\u011btv\u00ed a DB, p\u0159i\u010dem\u017e se kop\u00edruje sch\u00e9ma ukl\u00e1d\u00e1n\u00ed a data.\n<p>Z praktick\u00e9ho hlediska podpora v\u011btv\u00ed umo\u017e\u0148uje synchronizaci dat s k\u00f3dem pou\u017eit\u00fdm pro jejich zpracov\u00e1n\u00ed, p\u0159i\u010dem\u017e se zachov\u00e1v\u00e1 kompatibilita se star\u00fdm k\u00f3dem. Nap\u0159\u00edklad po aktualizaci k\u00f3du lze k n\u011bmu p\u0159i\u0159adit novou datovou v\u011btev, kter\u00e1 zohled\u0148uje zm\u011bny v k\u00f3du t\u00fdkaj\u00edc\u00ed se struktury ukl\u00e1d\u00e1n\u00ed. Tuto funk\u010dnost je vhodn\u00e9 vyu\u017e\u00edt k usnadn\u011bn\u00ed v\u00fdvoje a testov\u00e1n\u00ed nov\u00fdch verz\u00ed softwaru, po jejich\u017e dokon\u010den\u00ed sta\u010d\u00ed p\u0159epnout na ji\u017e otestovanou v\u011btev.      <\/p>\n<li class=\"l\"> Do roz\u0161\u00ed\u0159en\u00ed pgvector, pou\u017e\u00edvan\u00e9ho pro efektivn\u00ed ukl\u00e1d\u00e1n\u00ed a dotazov\u00e1n\u00ed vektor\u016f, byl p\u0159id\u00e1n nov\u00fd typ index\u016f HNSW (Hierarchical Navigable Small Worlds), kter\u00fd je, obdobn\u011b jako index IVFFlat, dostupn\u00fd ve t\u0159ech variant\u00e1ch: ext::pgvector::hnsw_euclidean, ext::pgvector::hnsw_ip a ext::pgvector::hnsw_cosine. Krom\u011b toho bylo v pgvector roz\u0161\u00ed\u0159eno nastaven\u00ed index\u016f prost\u0159ednictv\u00edm objektu ext::pgvector::Config.\n<li class=\"l\"> Byly p\u0159id\u00e1ny dal\u0161\u00ed mo\u017enosti autentizace. V roz\u0161\u00ed\u0159en\u00ed auth byla implementov\u00e1na podpora bezheslov\u00fdch sch\u00e9mat autentizace WebAuthn (Passkeys) a \u201emagic links\u201c (na b\u00e1zi emailu). Byla p\u0159id\u00e1na podpora pou\u017e\u00edv\u00e1n\u00ed platforem Slack a Discord jako OAuth poskytovatel\u016f.\n<li class=\"l\"> Byla provedena optimalizace v\u00fdkonu. V implementaci cache s v\u00fdsledky kompilace dotaz\u016f byla zaji\u0161t\u011bna konzistence mezi restartov\u00e1n\u00edm a p\u0159id\u00e1na automatick\u00e1 rekopilace po migraci. Zrychlil se proces pr\u00e1ce s velk\u00fdmi datov\u00fdmi sch\u00e9maty.\n<li class=\"l\"> V dotazovac\u00edm jazyce EdgeQL\u200b je v v\u00fdrazu \u201efor\u201c povoleno neuv\u00e1d\u011bt kl\u00ed\u010dov\u00e9 slovo \u201eunion\u201c v z\u00e1kladn\u00edch dotazech, ve kter\u00fdch se pou\u017e\u00edvaj\u00ed v\u00fdrazy insert, update nebo delete.\n<li class=\"l\"> Byla p\u0159id\u00e1na p\u0159\u00edkaz vacuum() pro \u010di\u0161t\u011bn\u00ed, optimalizaci a balen\u00ed obsahu datab\u00e1ze.\n<li class=\"l\"> Bylo povoleno p\u0159ev\u00e1d\u011bn\u00ed dat mezi typem bytes a typy int16, int32, int64 a uuid pomoc\u00ed funkc\u00ed to_bytes(), to_uuid() a to_int*().\n<li class=\"l\"> Byla p\u0159id\u00e1na mo\u017enost uzav\u0159en\u00ed v\u0161ech p\u0159ipojen\u00ed k DB po proveden\u00ed operace \u201edrop database\u201c.                  <\/ul>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61041\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB 5.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438. \u041f\u0440\u043e\u0435\u043a\u0442 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0444\u043e\u0440\u043c\u0435 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043d\u0430\u0434 PostgreSQL, \u043a\u043e\u0434 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0430\u0445 Python \u0438 Rust (\u043f\u0430\u0440\u0441\u0435\u0440 \u0438 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u044b\u0435 \u043a \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0447\u0430\u0441\u0442\u0438), \u0438 \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434 \u043b\u0438\u0446\u0435\u043d\u0437\u0438\u0435\u0439 Apache 2.0. \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d\u044b \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u043e\u0432 Python, Go, Rust. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115237","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB 5.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 EdgeDB 5.0 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB 5.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-22T12:30:04+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-22T12:30:04+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Vyd\u00e1n\u00ed rela\u010dn\u011b-grafov\u00e9ho datab\u00e1zov\u00e9ho syst\u00e9mu EdgeDB 5.0 | ProHoster","description":"Byla vyd\u00e1na verze datab\u00e1zov\u00e9ho syst\u00e9mu EdgeDB 5.0, realizuj\u00edc\u00ed rela\u010dn\u011b-grafov\u00fd model dat a jazyk dotaz\u016f EdgeQL, optimalizovan\u00e9 pro pr\u00e1ci se slo\u017eit\u00fdmi hierarchick\u00fdmi daty.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0412\u044b\u043f\u0443\u0441\u043a \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u043e\u0439 \u0421\u0423\u0411\u0414 EdgeDB 5.0 | ProHoster","og:description":"\u0414\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0440\u0435\u043b\u0438\u0437 \u0421\u0423\u0411\u0414 EdgeDB 5.0, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0435\u0439 \u0440\u0435\u043b\u044f\u0446\u0438\u043e\u043d\u043d\u043e-\u0433\u0440\u0430\u0444\u043e\u0432\u0443\u044e \u043c\u043e\u0434\u0435\u043b\u044c \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u044f\u0437\u044b\u043a \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 EdgeQL, \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0438\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u043c\u0438.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-04-22T12:30:04+00:00","article:modified_time":"2024-04-22T12:30:04+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115237","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 22:53:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-22 22:53:19","updated":"2026-01-22 22:53:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/115237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=115237"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/115237\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=115237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=115237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=115237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}