OWL (odvozování) ISKM89 Organizace dat - sémantický web | podzim 2023 Zuzana Nevěřilová | Centrum zpracování přirozeného jazyka RDF/RDFS OWL je vždy OWL 2 (i když OWL 1 existovalo) OWL Lite - minimální užitečná expresivita a “síla” inference OWL DL - deskripční logika OWL Full - bez jakýchkoliv omezení (obsahuje i RDFS) OWL Lite, OWL EL, OWL RL, OWL QL ⊆ OWL2 DL ⊆ OWL2 Full RDF(S) a úrovně OWL https://en.wikipedia.org/wiki/Description_logic https://www.w3.org/TR/owl-ref/#Sublanguage-def OWL Full - V OWL Full jsou třídy (také) individua, tudíž na ně lze aplikovat rovnost tříd (owl:sameAs). Protože datové hodnoty jsou (také) individua, jsou datatype properties podtřídami object properties. owl:ObjectProperty = rdf:Property RDF je OWL Full (bez jakýchkoliv omezení). RDF(S) a úrovně OWL OWL DL - musí být odděleny třídy, instance, datové typy, datatype properties, object properties, annotation properties, ontology properties, datové hodnoty (data values). Vlastnosti ● inverse of, ● inverse functional, ● symmetric, a ● transitive nikdy nejsou datatype properties. Kardinalita nesmí omezovat tranzitivní vlastnosti. Všechny třídy a vlastnosti musí být explicitně deklarovány (buď jako třídy, nebo jako vlastnosti). RDF(S) a úrovně OWL OWL Lite navíc k omezením OWL DL přidává následující: Neobsahuje vlastnosti: ● owl:oneOf ● owl:unionOf ● owl:complementOf ● owl:hasValue ● owl:disjointWith Objektem trojice s rdfs:domain a rdfs:range musí být třídy a třídy nebo datové typy Objektem trojice rdf:type musí být třída (i anonymní). Objektem trojice owl:allValuesFrom a owl:someValuesFrom musí být třída nebo datový typ. RDF(S) a úrovně OWL Úložiště trojic často obsahuje inferenční stroj. Jsou to ale rozdílné věci. Cíle úložiště: ● ukládat trojice (v některé ze serializací RDF(S)/OWL) ● poskytovat trojice ○ jako RDF (v některé ze serializací) ○ SPARQL - projekce (tabulka) nebo podgraf ● + inferenční stroj: poskytovat odvozené trojice ○ vygenerovat je při dotazu (on the fly) ○ dopředu (materializované trojice) Úložiště trojic a inferenční stroje ● AllegroGraph ● AnzoGraph ● Apache Jena + Fuseki + TDB ● Apache Marmotta + Postgres ● ArangoDb ● Blazegraph ● Cosmos ● GraphDB ● MarkLogic ● Neo4j ● Neptune ● Stardog ● Tiger ● Virtuoso Úložiště trojic a inferenční stroje Rozdíly: ● Škálovatelnost (distributed system, multiple pods) ● Způsob uložení dat (native triple store, relační databáze, grafová databáze) ● Inference (RDF, OWL DL 2, vlastní inferenční pravidla) ● Konektory k jiným nástrojům (ElasticSearch, Lucene, SOLR) ● Spuštění v cloudu nebo on premises (AWS, Azure, GCP, other) ● Podpora (logování, vizualizace, import, export) ● Cena Úložiště trojic Inferenční stroje https://www.sciencedirect.com/science/article/pii/S1045926X1730246X Všichni lidé jsou smrtelní. Sókratés je člověk. Sókratés je smrtelný. Dedukce a RDF - kde najdeme sylogismus o Sókratovi? backward-chaining odvození na dotaz Je Sókratés smrtelný? forward-chaining všechna možná odvození se předpočítají (total materialization)