{"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\/pl\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","title":{"rendered":"Wydanie relacyjno-graficznej bazy danych EdgeDB 5.0","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Dost\u0119pna jest wersja bazy danych EdgeDB 5.0, kt\u00f3ra implementuje relacyjno-graficzny model danych oraz j\u0119zyk zapyta\u0144 EdgeQL, zoptymalizowane do pracy z z\u0142o\u017conymi danymi hierarchicznymi. Projekt rozwija si\u0119 w formie nak\u0142adki na PostgreSQL, kt\u00f3rego kod zosta\u0142 napisany w j\u0119zykach Python i Rust (parser oraz krytyczne dla wydajno\u015bci cz\u0119\u015bci) i udost\u0119pniany jest na licencji Apache 2.0. Przygotowano biblioteki klienckie dla j\u0119zyk\u00f3w Python, Go, Rust, .NET, Elixir i TypeScript\/Javascript. Oferowane s\u0105 narz\u0119dzia wiersza polece\u0144 do zarz\u0105dzania baz\u0105 danych oraz interaktywnego wykonywania zapyta\u0144 (REPL).    <\/p>\n<p>Zamiast modelu danych opartego na tabelach, w EdgeDB zastosowano deklaratywny system oparty na typach obiektowych. Zamiast kluczy obcych (foreign key) do okre\u015blania powi\u0105za\u0144 mi\u0119dzy typami stosuje si\u0119 \u0142\u0105czenie przez odwo\u0142ania (jeden obiekt mo\u017ce by\u0107 u\u017cywany jako w\u0142a\u015bciwo\u015b\u0107 innego obiektu).   <\/p>\n<p>     type Person {       required name: str;     }     type Movie {       required title: str;       multi actors: Person;     }      <\/p>\n<p>Obs\u0142ugiwane s\u0105 takie mo\u017cliwo\u015bci jak \u015bcis\u0142a typizacja w\u0142a\u015bciwo\u015bci, ograniczenia warto\u015bci w\u0142a\u015bciwo\u015bci, w\u0142a\u015bciwo\u015bci obliczeniowe oraz procedury sk\u0142adowane. Do cech obiektowego schematu przechowywania w EdgeDB, kt\u00f3ry przypomina ORM, nale\u017cy mo\u017cliwo\u015b\u0107 mieszania schemat\u00f3w, \u0142\u0105czenia w\u0142a\u015bciwo\u015bci z r\u00f3\u017cnych obiekt\u00f3w oraz zintegrowane wsparcie dla JSON. Aby przyspieszy\u0107 przetwarzanie zapyta\u0144, mog\u0105 by\u0107 stosowane indeksy.     <\/p>\n<p>Zapewnione s\u0105 wbudowane narz\u0119dzia do migracji schemat\u00f3w przechowywania \u2014 po zmianie schematu okre\u015blonego w osobnym pliku esdl wystarczy wykona\u0107 polecenie \u201eedgedb migration create\u201d, a system baz danych przeanalizuje r\u00f3\u017cnice w schemacie i w trybie interaktywnym wygeneruje skrypt do przej\u015bcia na nowy schemat. Historia zmian schematu jest automatycznie \u015bledzona.    <\/p>\n<p>Dla formowania zapyta\u0144 obs\u0142ugiwany jest j\u0119zyk zapyta\u0144 GraphQL oraz autorski j\u0119zyk EdgeDB, kt\u00f3ry stanowi adaptacj\u0119 SQL do danych hierarchicznych. Zamiast list, wyniki zapytania prezentowane s\u0105 w zorganizowanej formie, a zamiast podzapyta\u0144 i operacji JOIN istnieje mo\u017cliwo\u015b\u0107 wskazania jednego zapytania EdgeQL jako wyra\u017cenia wewn\u0105trz innego zapytania. Obs\u0142ugiwane s\u0105 transakcje i p\u0119tle.    <\/p>\n<p>     select Movie {       title,       actors: {         name       }     }     filter .title = \u201eThe Matrix\u201d       insert Movie {       title := \u201eThe Matrix Resurrections\u201d,       actors := (         select Person         filter .name in {           \u2018Keanu Reeves\u2019,           \u2018Carrie-Anne Moss\u2019,           \u2018Laurence Fishburne\u2019         }       )     }      <\/p>\n<p>W nowej wersji:  <\/p>\n<ul>\n<li class=\"l\">Dodano wsparcie dla wersjonowania (\u201ebranching\u201d), pozwalaj\u0105ce na wykorzystanie koncepcji ga\u0142\u0119zi w pracy z danymi i schematami, stosowanej w systemach zarz\u0105dzania wersjami. Zamiast terminu \u201ebaza danych\u201d w nowym wydaniu wprowadzono poj\u0119cie \u201ega\u0142\u0105\u017a\u201d (branch), a polecenia \u201ecreate database\u201d i \u201edrop database\u201d zosta\u0142y oznaczone jako przestarza\u0142e. Zaleca si\u0119 u\u017cywanie nowych polece\u0144 \u201ecreate empty branch\u201d i \u201edrop branch\u201d. Opr\u00f3cz pustych ga\u0142\u0119zi, za pomoc\u0105 polece\u0144 \u201ecreate schema branch\u201d i \u201ecreate data branch\u201d mo\u017cna tworzy\u0107 ga\u0142\u0119zie z istniej\u0105cych ga\u0142\u0119zi i baz danych, kopiuj\u0105c z nich schemat przechowywania i dane.\n<p>Z praktycznego punktu widzenia, wsparcie ga\u0142\u0119zi pozwala synchronizowa\u0107 dane z kodem u\u017cywanym do ich przetwarzania, jednocze\u015bnie zachowuj\u0105c zgodno\u015b\u0107 ze starszym kodem. Na przyk\u0142ad, po aktualizacji kodu mo\u017cna pod\u0142\u0105czy\u0107 do niego now\u0105 ga\u0142\u0105\u017a danych, uwzgl\u0119dniaj\u0105c\u0105 zmiany wprowadzone w schemacie przechowywania. Rozwa\u017can\u0105 funkcjonalno\u015b\u0107 mo\u017cna wygodnie wykorzysta\u0107 do uproszczenia rozwoju oraz testowania nowych wersji oprogramowania, po kt\u00f3rych gotowo\u015bci wystarczy prze\u0142\u0105czy\u0107 si\u0119 na ju\u017c przetestowan\u0105 ga\u0142\u0105\u017a.      <\/p>\n<li class=\"l\"> W rozszerzeniu pgvector, stosowanym do efektywnego przechowywania i zapytywania o wektory, dodano nowy typ indeks\u00f3w HNSW (Hierarchical Navigable Small Worlds), kt\u00f3ry, na wz\u00f3r indeksu IVFFlat, dost\u0119pny jest w trzech wariantach: ext::pgvector::hnsw_euclidean, ext::pgvector::hnsw_ip oraz ext::pgvector::hnsw_cosine. Ponadto, w pgvector rozszerzono mo\u017cliwo\u015bci precyzyjnego dostosowania indeks\u00f3w za pomoc\u0105 obiektu ext::pgvector::Config.\n<li class=\"l\"> Dodano dodatkowe mo\u017cliwo\u015bci uwierzytelniania. W rozszerzeniu auth wprowadzono wsparcie dla bezhas\u0142owych schemat\u00f3w uwierzytelniania WebAuthn (Passkeys) oraz \u201emagicznych link\u00f3w\u201d (opartych na e-mailu). Dodano wsparcie dla korzystania z platform Slack i Discord jako dostawc\u00f3w OAuth.\n<li class=\"l\"> Wprowadzono optymalizacje wydajno\u015bci. W realizacji pami\u0119ci podr\u0119cznej z wynikami kompilacji zapyta\u0144 zapewniono zachowanie stanu mi\u0119dzy ponownymi uruchomieniami oraz dodano automatyczn\u0105 rekompilacj\u0119 po migracji. Zwi\u0119kszono szybko\u015b\u0107 pracy z du\u017cymi schematami przechowywania.\n<li class=\"l\"> W j\u0119zyku zapyta\u0144 EdgeQL w wyra\u017ceniu \u201efor\u201d zezwolono na pomini\u0119cie s\u0142owa kluczowego \u201eunion\u201d w podstawowych zapytaniach, w kt\u00f3rych u\u017cywane s\u0105 wyra\u017cenia insert, update lub delete.\n<li class=\"l\"> Dodano komend\u0119 vacuum() do czyszczenia, optymalizacji i pakowania zawarto\u015bci bazy danych.\n<li class=\"l\"> Zezwolenie na konwersj\u0119 danych mi\u0119dzy typem bytes a typami int16, int32, int64 i uuid, przy u\u017cyciu funkcji to_bytes(), to_uuid() i to_int*().\n<li class=\"l\"> Dodano mo\u017cliwo\u015b\u0107 zamkni\u0119cia wszystkich po\u0142\u0105cze\u0144 do bazy danych po wykonaniu operacji \u201edrop database\u201d.                  <\/ul>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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\udd47Wydanie relacyjno-grafowej bazy danych EdgeDB 5.0 | ProHoster","description":"Dost\u0119pna jest wersja systemu zarz\u0105dzania baz\u0105 danych EdgeDB 5.0, implementuj\u0105ca relacyjno-grafowy model danych oraz j\u0119zyk zapyta\u0144 EdgeQL, zoptymalizowane do pracy z\u0142o\u017conymi danymi hierarchicznymi.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/vypusk-relyaczionno-grafovoj-subd-edgedb-5-0","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/115237","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=115237"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/115237\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=115237"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=115237"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=115237"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}