Odlišovanie triedy a relácie veľkosťou znakov v URI
Keďže sa už viac krát riešilo či je URI case (in)sensitive, najmä v spojitosti: či môže existovať URI s rovnakými znakmi iba s rozdielom malých/veľkých písmen, pokúsim sa k tomu pridať viac informácií a príkladov.
1) URI a case-sensitivita
6.2.2.1. Case Normalization
https://tools.ietf.org/html/rfc3986#section-6.2.2.1
tj. doména je case-insensitive, https://data.gov.sk je to isté ako HTTPS://DATA.GOV.SK, ale ostatok je case-sensitive, tj. nasledovné URI reprezentujú iné entity
lsub:LegalForm (https://data.gov.sk/def/ontology/legal-subject/LegalForm)
lsub:legalForm (https://data.gov.sk/def/ontology/legal-subject/legalForm)
Rozdiel uvedených URI je, že prvý reprezentuje triedu LegalForm a druhý reláciu (objektovu vlastnosť).
2) DCAT ako príklad
Príkladom keď sa používa len odlišná veľkosť písmena (tiež) na definíciu triedy a objektovej vlastnosti je základná ontológia pre publikáciu otvorených údajov DCAT. Medzi základné triedy patrí dcat:Catalog, dcat:Dataset, dcat:Distribution a iné. Existujú aj ďalšie definované entity (relácie) dcat:dataset, dcat:distribution ktoré sú použité na definíciu vzájomných vzťahov týchto tried.
Čiže napr. v oficiálnej špecifikácii DCATu
je vidno že dcat:dataset je relácia (owl:ObjectProperty) a dcat:Dataset je trieda (owl:Class). Detailne
:catalog
a dcat:Catalog ;
dcat:daset :dataset-001 .
kde dcat:dataset je relácia (objektová vlastnosť) katalógu na svoje datasety.
:dataset-001
a dcat:Dataset .
kde dcat:Dataset je trieda pre konkrétny dataset-001:
3) Prípady odlišovania URI entít veľkosťou znakou
Uvedená konvencia je asi známa viac developerskému svetu, je to klasický CamelCase, kde je trieda veľkým, relácia malým. Nevidel som ešte štandardizovanú ontológiu, kde by sa toto nepoužívalo. Presne to je aj ten prípad z predchádzajúcich bodov. Je to vyjadrenie dvoch entít vo forme 1) URI relácie na 2) URI triedu. Príklady použitia sú pri referencovaní číselníkov alebo pri začlenení vzájomných vzťahov tried do hierarchií, pri vzniku tzv. top relácie.
4) Použitie v Centrálnom modeli údajov
URI pattern pre Triedu/objektovuVlastnost je použitý v prípade číselníkov, aj v prípade top relácií.
Ako číselník: Potrebujem riešiť situáciu priradenia číselníkovej hodnoty pre nejaký objekt (záznam, inštanciu, indivíduum). Stanovím možným hodnotám typy, tj. ich triedu. Následne urobim dve URI (vzor): ClassURI a objektovaVlastnostURI.
Napr. lsub:LegalForm je trieda inštancií (definícií) ako: akciová spoločnosť, spoločnosť s ručením obmedzeným a podobne. Súvisiaca objektová vlastnosť tj. lsub:legalForm spája konkrétny právny subjekt s týmto typom. Napr. Slovensko.Digital je združenie
<lsub:LegalSubject rdf:about="https://data.gov.sk/id/legal-subject/50158635">
<lsub:legalForm rdf:resource="https://data.gov.sk/def/legal-form/701"/>
</lsub:LegalSubject>
pričom “združenie” je položka číselníka definovaná ako inštancia triedy
<lsub:LegalForm rdf:about="https://data.gov.sk/def/legal-form/701">
<rdfs:label xml:lang="sk">Združenie (zväz, spolok, spoločnosť, klub ai.)</rdfs:label>
</lsub:LegalForm>
Tu je vidieť použitie dvoch samostatných entít - lsub:legalForm a lsub:LegalForm.
5) Registrácia v MetaIS
V Metais sú niektoré dátové prvky zaevidované týmto spôsobom a nie je to preklep
https://metais.finance.gov.sk/uri/list/accepted
Ked si zobrazíte detail jednotlivých URI, tak je to dobre vidieť že raz je to trieda
https://metais.finance.gov.sk/uri/detail/d43acd16-bb4f-41f3-9bb8-635ac18809f6?navBack=accepted
a v druhom prípade je to zas objektová vlastnosť.
https://metais.finance.gov.sk/uri/detail/bc2a695f-c780-40fd-9762-eab8e82bbc7e?navBack=accepted