- Notifications
You must be signed in to change notification settings - Fork0
Issue tracker k výrobní lince sémantických konceptuálních modelů.
License
datagov-cz/sgov-assembly-line
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Výrobní linka je sada nástrojů, které slouží k tvorběSémantického slovníku pojmů. V současné době zahrnuje několik komponent:
- Kontrolní panel, který používáSGoV Server jako backend. Jedná se o nástroj pro správu pracovních prostorů (transakcí pro editaci Sémantického slovníku pojmů) a jejich publikaci doGithub repozitáře odkud jsou vytvořené slovníky publikovány doSPARQL endpointu.
- TermIt, který má rovněž vlastníback-end. Jedná se o nástroj na správu pojmů samotných, jejich názvů, definic, zdrojů a základní strukturování do tezauru. TermIt pracuje s formátemSKOS.
- OntoGrapher je nástrojem pro tvorbu ontologických konceptuálních modelů na základě pojmů, tedy o jejich vzájemné propojování významovými vazbami (např.
Orgán veřejné moci
je speciálním případemOrganizace
). TermIt pracuje v jazyceOWL. - CheckIt sbackendem je nástroj sloužící pro revizi a schvalování změn provedených na slovnícich pomocí ostatních nástrojů Výrobní linky.
Výrobní linka je rozšiřitelná o další nástroje, které mohou řešit jiné (nebo stejné) dílčí úlohy.
Tento repozitář obsahuje sadu Docker instrukcí pro nasazení Výrobní linky.
Postup:
StáhniGraphDB Free do složky
al-db-server
, např.graphdb-free-9.6.0-dist.zip
.Vygeneruj soubor s proměnnými pomocí utility
gen_env.sh
. Utilita vyžaduje parametr s hodnotoulocal
,development
neboproduction
. V závislosti na parametru bude vygenerován příslušný.env.*
soubor. Konfigurace komponent bude vygenerována z šablonycomponents.yml
a zakódována pomocí base64 do jednoduchého řetězce. Příklad:
./gen_env.sh local
Přidej do
.env.<CONTEXT>
proměnné a nastav je:Tyto proměnné volíš:GRAPHDB_ZIP_FILE_NAME
- jméno souboru stažené GraphDB (např.graphdb-free-9.6.0-dist.zip
)POSTGRES_DB
- název databáze pro keycloak uživatelePOSTGRES_USER
- uživatelské jméno pro správu databázePOSTGRES_PASSWORD
- heslo pro správu databázeKEYCLOAK_USER
- uživatelské jméno k přihlášení do admin konzole KeycloakuKEYCLOAK_PASSWORD
- heslo k přihlášení do admin konzole KeycloakuKEYCLOAK_API_USER_USERNAME
- uživatelské jméno pro přístup k API Keycloaku (potřebné pro CheckIt)KEYCLOAK_API_USER_PASSWORD
- heslo pro přístup k API Keycloaku (potřebné pro CheckIt)SGOV_SERVER_REPOSITORY_GITHUBUSERTOKEN
- GitHub token pro vytvoření PR (nutné pouze pro publikaci pracovního prostoru na Github)CHECKIT_SERVER_REPOSITORY_GITHUBUSERTOKEN
- GitHub token pro schvalování PR (nutné pouze pro publikaci pracovního prostoru na Github)
Spusť
docker-compose
s příslušným.env.*
souborem. Příklad:
docker-compose --env-file=.env.local up
- Nakonfiguruj a spusť externí webový server pro směrování požadavků z url definované v proměnné
URL
příslušného.env.*
souboruna službual-nginx
. V případě lokálního nasazení a webového serevruapache2
konfigurace může vypadat následovně:
<VirtualHost *:80> <Location /modelujeme> ProxyPass http://localhost:1234/modelujeme nocanon ProxyPassReverse http://localhost:1234/modelujeme </Location></VirtualHost>
nebo v případeNginx
:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location /modelujeme { proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:1234/modelujeme; proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k; proxy_read_timeout 600s; }}
Pro inicializace
al-db-serveru
je potřeba spustit SPARQL dotazy ze složkyal-db-server/lucene
na/modelujeme/sluzby/db-server/
v sekciSPARQL
.V al-auth-serveru (
/modelujeme/sluzby/auth-server/admin/
, přihlas se do něj pomocí$KEYCLOAK_USER
a$KEYCLOAK_PASSWORD
)- běž do
Realm Settings/Keys
a klikni naPublic key
- zkopíruj hodnotu veřejného klíče daného realmu do proměnné
KEYCLOAK_REALMKEY
,
- zkopíruj hodnotu veřejného klíče daného realmu do proměnné
- běž do
Clients
(levé menu)- klikni na klienta
al-sgov-server
a vCredentials
zkopíruj hodnotuSecret
klienta do proměnné SGOV_SERVER_KEYCLOAK_CREDENTIALS_SECRET (pokud vidíš*****
použijRegenerate Secret
), - stejně tak zkopíruj hodnotu
Secret
klientaal-termit-server
do proměnné TERMIT_SERVER_KEYCLOAK_CREDENTIALS_SECRET, - stejně tak zkopíruj hodnotu
Secret
klientaal-checkit-server
do proměnné CHECKIT_SERVER_KEYCLOAK_CREDENTIALS_SECRET,
- klikni na klienta
- vytvoř uživatele výrobní linky v
Users/Add user
- nastav mu
Username
,Email
,First Name
aLast Name
- po vytvoření mu nastav heslo v
Credentials
- nastav mu
- vytvoř admina pro přiřazování gestorů ve výrobní lince v
Users/Add user
- nastav mu
Username
,Email
,First Name
aLast Name
- po vytvoření mu nastav heslo v
Credentials
- běž do sekce
Role Mappings
a vClient Roles
vyhledejal-checkit-server
-> klikni naROLE_ADMIN
a přidej tuto roli mocí tlačítkaAdd selected
- nastav mu
- běž do
Restartuj služby
al-sgov-server
,al-termit-server
aal-checkit-server
:
docker-compose --env-file=.env.local up
nebo
docker-compose stop al-sgov-server ; docker-compose --env-file=.env.local up -d al-sgov-serverdocker-compose stop al-termit-server ; docker-compose --env-file=.env.local up -d al-termit-serverdocker-compose stop al-checkit-server ; docker-compose --env-file=.env.local up -d al-checkit-server
- Ověř, že Výrobní linka běží. V případě lokálního nasazení je její URL
http://localhost/modelujeme
.
Službaal-db-server
představuje RDF úložište obsahující pracovní verze slovníků a uživatele systému. Uživatele systému lze kdykoli smazat a přegenerovat pomocí službyal-auth-server
, která ukláda zdrojové data o uživatelích pomocí službyal-auth-server-db
. Pracovní verze slovníků lze publikovat doSémantického slovníku pojmů (SSP).
V případě, že jsou všechny slovníky publikované, je možné RDF úložistě smazat a obnovit počáteční stav úložište (viz. body týkající seal-db-serveru
v sekciNasazení výrobní linky) a importu všech základních dat na/modelujeme/sluzby/db-server/import#server
. Po obnovení počátečního stavu uložiště je potřeba naimportovat slovníky z SSP a obnovit i RDF reprezentaci uživatelů systému v tomto úložišti. Záznam uživatele se v RDF úložišti vytvoří automaticky při libovolné aktualizaci uživatele pomocí uživatelského rozhraní na adrese/modelujeme/sluzby/auth-server/
. Po aktualizaci všech uživatelů je obnova databáze slovníku hotova.
Alternativně lze RDF reprezentaci uživatelů systému nahrát ze zálohy, protože je obsažena v separatním kontextu RDF úložiště (např.https://slovník.gov.cz/uživatel
).
Konkrétní SPARQL dotazy naleznete v dokumentaci GraphDB odpovídající vaší verzi GraphDB v Usage -> Reasoning -> How To's. (Dokumentace 9.6)
Na al-db-serveru v sekci SPARQL (/modelujeme/sluzby/db-server/sparql
) najdete webové rozhraní pomocí, kterého lze nad databází vykonávat SPARQL dotazy. Vložte nový ruleset pomocí SPARQL dotazu ze sekceAdd a custom ruleset with SPARQL INSERT
dokumentace GraphDB, kde vložíte text nového rulesetu mezi předpřipravené trojité apostrofy. Tento dotaz by měl vytvořit rulesetu s názvem "custom". To si můžete ověřit pomocí dotazu pro výpis rulesetů v sekciList all rulesets
dokumentace a obsah rulesetu pomocí dotazu vExplore a ruleset
. Nyní nastavte nový ruleset jako výchozí pomocí dotazu v sekciSet a default ruleset
. Nyní by jste měli ve výpisu rulesetů vidět u nového rulesetu status default a current. Posledním krokem je přegenerování odvození pomocí dotazu v sekciReinferring
. (Doporučujeme přejmenovat nový ruleset pomocí dotazu v sekciRename a ruleset
, aby se předešlo konfliktu při příštím vytváření "custom" rulesetu.)
Tento repozitář je udržován v rámci projektu OPZ č.CZ.03.4.74/0.0/0.0/15_025/0013983.
About
Issue tracker k výrobní lince sémantických konceptuálních modelů.