Technologie sémantického webu
Úvod
V původním dokumentu o sémantickém webu [1] jsou pro jeho vytváření navrhovány dvě technologie: XML (eXtensible Markup Language) a RDF (Resource Description Framework). Spojením těchto dvou technologií pak vzniká jeden ze základních jazyků pro zapisování informací na sémantickém webu RDF/XML.
V dnešní době existuje poměrně velké množství alternativ RDF/XML, které jsou na tomto formátu založeny a které ho doplňují a rozšiřují. Tento článek se zabývá těmi nejdůležitějšími, mezi než patří RDFS (RDF Schema) a OWL (Web Ontology Language).
Zvláštní postavení mezi technologiemi používanými na sémantickém webu má pak dotazovací jazyk SPARQL, což je jazyk navržený speciálně pro vytváření dotazů na RDF. [2]
XML
XML (eXtensible Markup Language) [3] je značkovací jazyk, který umožňuje každému vytvářet si své vlastní značky. To dává uživateli možnost vytvářet si vlastní struktury pro své dokumenty. Struktura XML dokumentu je dána pomocí DTD (Document Dype Definition) [4], které může být nahrazeno XML Schema [5] či Relax NG (REgular LAnguage for XML Next Generation) [6].
Značná nevýhoda XML dokumentů spočívá v tom, že jim nedokáže porozumět ostatní software, pokud nejsou využity standardizované formáty. Avšak i v případě nasazení těchto formátů bývá interoperabilita softwaru často problematická. Technologii XML je výhodné použít pro tvorbu dokumentů, které slouží pouze samotnému tvůrci. V takovém případě poskytuje XML mocný nástroj, jak vyjádřit prakticky cokoli, a to pro uživatele přirozeným způsobem.
Pro účely sémantického webu slouží XML spíše jako základ ostatních technologií, ne jako samotný prostředek pro tvorbu sémantického webu. Význam se na sémantickém webu vyjadřuje pomocí RDF.
RDF
RDF (Resource Description Framework) [7-9] je technologie určená pro reprezentaci informací o zdrojích na World Wide Webu. Zejména je určen pro reprezentaci metadat o webových zdrojích. Metadata jsou jednoduše řečeno data o datech, jako je název či autor zdroje, datum změny webové stránky, copyright a licenční informace o webovém dokumentu nebo dostupnost některých sdílených zdrojů.
RDF je velice užitečný nástroj především pro případy, kdy chceme informace spíše zpracovávat pomocí aplikací než je zobrazovat lidem. RDF navíc poskytuje framework pro vyjádření těchto informací, aplikace si je tedy mohou snadno mezi sebou vyměňovat, aniž by byl význam informací ztracen. Díky tomu mohou RDF dokumentům rozumět i aplikace, pro které nebyl daný dokument původně určen.
RDF se kóduje pomocí trojic neboli triplů subjekt - vlastnost - objekt, anglicky subject - predicate - object. Grafické znázornění triplu můžete vidět na Obrázku 1.
Obrázek 1: RDF trojice
Tyto trojice vyjadřují, že každá konkrétní věc má svou vlastnost s určitou hodnotou. Například výrok "Kobyla má malý bok" lze v RDF vyjádřit pomocí trojice: subjekt "kobyla", vlastnost "má bok" a objekt "malý". Pomocí RDF trojic lze správným použitím vyjádřit prakticky jakoukoli informaci. Takto kódovaným informacím jsou počítače schopny porozumět a dokáží je převést i do pro člověka srozumitelné formy. Technologie RDF tak přináší naprostou revoluci v zápisu dat na webu.
Subjekt, vlastnost i objekt jsou vždy identifikovány pomocí IRI, stejně jako se to běžně používá u odkazů na webových stránkách. Díky používání IRI ke kódování informací v RDF dokumentech je zaručeno, že jednotlivé pojmy nejsou jen slova v dokumentu, ale jsou vázány k unikátní definici, kterou můžeme najít na webu. Díky používání IRI můžeme spojovat části informací na webu. Nicméně narozdíl od tradičního hypertextu, IRI v RDF mohou odkazovat prakticky na cokoli. Dokonce nám umožňují odkazovat se na věci, které vůbec nejsou na webu dohledatelné, jako například na jména lidí. Z toho vyplývá, že pomocí RDF můžeme popsat nejen webové stránky, ale i například auta, firmy, lidi, zprávy atd. Mimo to mají své vlastní IRI i RDF vlastnosti, takže mohou být přesně identifikovány vztahy existující mezi propojenými položkami.
Pro zápis RDF trojic existuje více způsobů. Jednou z možností je zobrazení vztahů pomocí orientovaných RDF grafů [10]. V RDF grafech je možné používat tzv. blank nodes neboli prázdné uzly. Ty nejsou opatřeny identifikátory IRI a slouží pouze pro lepší propojování dalších částí grafu. Vyjádření informací pomocí RDF orientovaného grafu představuje velmi dobrý nástroj pro porozumění vztahů mezi jednotlivými pojmy. Dále se jedná o užitečného pomocníka při přepisu dat do značkovacích jazyků odvozených od XML.
V souvislosti s RDF grafy je určitě třeba zmínit i tzv. Topic Maps [11], česky mapy témat, které jsou RDF grafům v mnoha ohledech velmi podobné. Mapy témat však vznikly zcela nezávisle na RDF a dokonce o něco dříve. Oproti RDF grafům poskytují mapy témat vyšší stupeň sémantické abstrakce tím, že umožňují různorodá propojení více uzlů a mohou tak vytvářet tzv. hypergrafy, zatímco RDF je omezeno na trojice a lze zde tedy spojit pouze dva uzly pomocí jednoho vztahu.
Pro potřeby sémantického webu se RDF trojice většinou zapisují pomocí jazyka RDF/XML, který je, stejně jako většina jazyků používaných pro zápis informací na sémantickém webu, odvozen od jazyka XML. Stejně jako HTML je i RDF/XML zpracovatelné strojem.
Stejně jako v XML si i v RDF uživatel zavádí své vlastní značky. To nám poskytuje možnost vyjádřit bez omezení jednotlivé informace, avšak počítač není schopen porozumět tomu, co konkrétně jednotlivé údaje znamenají. Navíc na rozdíl od pokročilejších technologií sémantického webu není v RDF umožněno definovat omezení, jako například, že každý člověk je buď muž nebo žena, a pokud je někdo muž, nemůže být zároveň i žena.
TURTLE
Turtle (Terse RDF Triple Language) [12, 13] představuje další možný způsob, jak vyjádřit RDF grafy v kompaktní a přirozené textové podobě. Turtle se stal velmi populární alternativou RDF/XML pro vytváření sémantického webu, neboť je zapisován v uživatelsky mnohem příjemnější formě.
Pro zápis pomocí Turtle je dáno několik základních pravidel [12]:
· každou RDF trojici je třeba ukončit tečkou člověk:Zdeněk_Jirotka info:type typ:člověk .
· komentáře v Turtle se uvozují pomocí křížku # toto je kometář
· IRI se zapisují ve špičatých závorkách <http://www.motejlka.cz/Lidé#Zdeněk_Jirotka>
· prefixy (předpony) se definují pomocí @prefix @prefix info: < http://www.motejlka.cz/info#>.
· textové řetězce jsou vsazeny do dvojitých uvozovek"text"
"""text"""
"""text
s novými řádky
"""
· textové řetězce mohou být dále opatřeny sufixy (příponami) upřesňujícími jazyk, kterým jsou psány, a to v podobě @značka_jazyka "writer"@en
"écrivain"@fr
· dalším možným sufixem je uvedení datového typu připojením ^^ a následně povolenou formou IRI "info"^^<http:// www.motejlka.cz /datový_typ>
"""10"""^^xsd:decimal
"-5"^^xsd:integer
"10"^^<http://www.w3.org/2001/XMLSchema#integer>
"1.3e2"^^xsd:double
"true"^^xsd:boolean
· prázdným uzlům musí být přidělen identifikátor v podobě _:ID_uzlu _:jazyk
· textové řetězce i IRI mohou obsahovat různé speciální znaky
• \t (U+0009)
- tabulátor
• \n (U+000A)
- nový řádek
• \r (U+000D)
- posun kurzoru na začátek řádku
• \" (U+0022)
- dvojité uvozovky, povoleny pouze uvnitř řetězce
• \> (U+003E)
- větší než, povoleno pouze v IRI
• \\ (U+005C)
- zpětné lomítko
• \uHHHH nebo \UHHHHHHHH
- pro psaní Unicode znaků v hexadecimální soustavě,
"H" představuje jeden hexadecimální znak
· v průběhu dokumentu je možno měnit základní IRI pomocí příkazu @base @base <http://www.motejlka.cz/newbase>.
· místo IRI <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> [5] lze v Turtle použít zkratku a@prefix typ: <http://www.motejlka.cz/typ#>.
<http://www.motejlka.cz/Lidé#Zdeněk_Jirotka> a typ:člověk.
· při použití čárky na konci trojice je možné v další trojici vynechat subjekt a vlastnost :a :b :c ,
:d . # tato trojice znamená :a :b :d .
· při použití středníku na konci trojice je možné v další trojici vynechat subjekt :a :b :c ;
:d :e . # tato trojice znamená :a :d :e .
· RDF sbírky se v Turtle uzavírají do kulatých nebo hranatých závorek a oddělují pomocí prázdných znaků, toho je využíváno především při popisu částí grafu obsahujících prázdné uzly @prefix : <http://www.motejlka.cz/info#> .
:subjekt : vlastnost ( :a : b : c ) .
:subjekt :vlastnost2 () . # prázdná sbírka (rdf:nil)
( obj1 obj2 ) je zkrácená verze pro:
[ rdf:first obj1; rdf:rest [ rdf:first obj2; rdf:rest rdf:nil ] ]
Syntaxe TURTLE je alternativou RDF/XML, a proto s sebou jeho používání přináší i stejné výhody a nevýhody. Mezi výhody patří například možnost vyjádření prakticky jakékoli informace podle vlastních potřeb, neboť jazyk není omezen jen na několik tříd a vlastností, jako je tomu u většiny dalších technologií. Na druhou stranu zde stále chybí možnost definovat různá omezení. Výhodou TURTLE oproti RDF/XML je uživatelsky mnohem příjemnější forma zápisu jednotlivých RDF trojic.
RDFS
RDF je univerzálním jazykem pro reprezentaci informací na webu, neposkytuje však žádné mechanismy pro popis vlastností a vztahů mezi nimi a dalšími zdroji. To je úkolem jazyka pro popis RDF slovníku RDFS (RDF Schema) [14]. RDFS je vlastně sémantickým rozšířením samotného RDF, které poskytuje mechanismy pro popis skupin souvisejících zdrojů a vztahů mezi těmito zdroji.
V RDFS se definují třídy a vlastnosti, které jsou pak použity k popisu tříd, vlastností a dalších zdrojů. Systém tříd a vlastností v RDFS vychází z podobných přístupů, jaké používají objektově orientované programovací jazyky, jako například Java.
RDFS rozděluje zdroje do tříd, které jsou samy o sobě též zdroji. Členy těchto tříd pak označujeme jako instance tříd. Stejně jako v RDF se i v RDFS třídy označují pomocí IRI a mohou být popsány použitím RDF vlastností. Pokud je některá třída součástí jiné, můžeme v RDFS využít pojmů „podtřída“ a „super-třída“, kde podtřída je třída obsažená ve třídě jiné, která se pro tuto stává super-třídou.
RDF rozlišuje mezi třídou a souborem jejích instancí. S každou třídou je spojen soubor, který představuje soubor instancí této třídy a který se označuje jako třída rozšíření třídy. Je důležité si uvědomit, že dvě různé třídy mohou mít stejný soubor instancí. Třída může být též instancí sebe sama či členem své vlastní třídy rozšíření.
RDFS obsahuje jen omezené množství tříd a vlastností, které je možné použít. Jejich seznam a použití vidíte v Tabulce 1 a v Tabulce 2.
Tabulka 1: RDF třídy
Třída |
Popis |
|
zdroj třídy (může být cokoli) |
|
třída písemných hodnot jako jsou textové řetězce, čísla atd. |
|
třída XML hodnot |
|
třída tříd |
|
třída RDF vlastností |
|
třída RDF datatypů |
|
třída RDF příkazů |
|
třída nezařazených kontejnerů |
|
třída zařazených kontejnerů |
|
třída kontejnerů alternativ |
|
třída RDF kontejnerů |
|
třída vlastností společenstva kontejneru, rdf:_1, rdf:_2,…, které jsou všechny podvlastnosti vlastnosti 'member' |
|
třída RDF seznamů |
Mezi RDF třídami se objevují speciální třídy pro tzv. kontejnery. Ty nám umožňují vytvářet sbírky a mohou být klidně nahrazeny pomocí vlastnosti rdf:type
.
Tabulka 2: RDF vlastnosti
Vlastnost |
Popis |
Doména |
Rozsah |
|
subjekt je instancí třídy |
|
|
|
subjekt je podtřídou třídy |
|
|
|
subjekt je podvlastností vlastnosti |
|
|
|
doména vlastnosti subjektu |
|
|
|
rozsah vlastnosti subjektu |
|
|
|
název subjektu v přirozené řeči |
|
|
|
popis zdroje subjektu |
|
|
|
člen zdroje subjektu |
|
|
|
první položka v RDF listu |
|
|
|
zbytek RDF listu po první položce |
|
|
|
další informace o zdroji subjektu |
|
|
|
definice zdroje subjektu |
|
|
|
idiomatická vlastnost používaná pro strukturované hodnoty |
|
|
|
subjekt |
|
|
|
vlastnost |
|
|
|
objekt |
|
|
V RDF dále můžeme kromě těchto tříd a vlastností použít rdf:_1
, rdf:_2
, atd. Tyto vlastnosti jsou podtřídami třídy rdfs:member
a instancemi třídy rdfs:ContainerMembershipProperty
. Mimo to zde ještě existuje instance třídy rdf:List
nazývaná rdf:nil
, která je vlastně prázdným RDF seznamem.
Stejně jako RDF si i RDFS můžeme vyjádřit pomocí orientovaného grafu, který se dá samozřejmě přepsat do značkovacího jazyka. RDFS obsahuje jen velmi omezené množství předdefinovaných tříd a vlastností, které je možné použít. Tyto třídy a vlastnosti jsou však poměrně univerzální a dovolují zápis prakticky jakékoli informace.
Technologie RDFS se skvěle hodí pro zápis informací na sémantickém webu díky své jednoduchosti a zároveň univerzálnosti. Nevýhodou však stále zůstává neschopnost definovat různá omezení. Tuto možnost poskytují až pokročilejší a složitější technologie pro tvorbu sémantického webu.
OWL
OWL (Web Ontology Language) [15-19] je sémantický značkovací jazyk určený pro definování, publikování a sdílení ontologií na World Wide Webu. Používá se pro aplikace, které potřebují informace nejen prezentovat lidem, ale i zpracovávat. OWL byl vyvinut jako slovník rozšiřující RDF. Díky poskytnutí dalších slovníků pro popis tříd a vlastností spolu s formální sémantikou představuje mnohem účinnější nástroj pro interpretabilitu informací na webu než dosud popsané technologie XML, RDF a RDFS.
OWL je stejně jako RDF/XML vyjádřením trojic RDF grafu pomocí značkovacího jazyka. Hlavní využití jazyka OWL lze shrnout do třech základních bodů [16]:
1. vytváření domény definováním tříd a jejich vlastností.
2. definování instancí (prvků tříd) a jejich vlastností.
3. uvažování těchto tříd a instancí do přípustného stupně použitím formální sémantiky jazyka OWL.
Původní verze OWL poskytuje tři čím dál více významné podjazyky, které jsou určeny a používány specifickými skupinami uživatelů: OWL Lite, OWL DL a OWL Full [15].
V OWL 2 jsou k dispozici další tři podjazyky: OWL 2 EL, OWL 2 QL a OWL 2 RL [20]. Těmito podjazyky se však nebudeme v rámci tohoto článku dále zabývat.
Pokud vytváříme ontologie pomocí OWL, je třeba dobře zvážit, který podjazyk bude nejlépe vyhovovat našim požadavkům. Je též důležité si uvědomit vztah mezi OWL a RDF. OWL Full může být chápán jako rozšíření RDF, zatímco OWL Lite a OWL DL jsou spíše rozšířením pouze omezeného pohledu na RDF. Každý OWL dokument, ať už Lite, DL nebo Full, je zároveň i RDF dokumentem a každý RDF dokument je taktéž OWL Full dokumentem. Ne každý RDF dokument může však být zároveň OWL Lite či OWL DL dokument. Z těchto důvodů si musíme dávat pozor, pokud převádíme RDF dokumenty do OWL. Mimo jiné musí být všechny IRI používané jako název třídy nebo vlastnosti převedeny na typ owl:Class
, každá instance musí patřit alespoň pod jednu třídu, IRI používané pro třídy, vlastnosti a instance musí být vzájemně odděleny.
Každý z podjazyků OWL je rozšířením svého jednoduššího předchůdce:
· každá správně napsaná OWL Lite ontologie platí též pro OWL DL.
· každá správně napsaná OWL DL ontologie platí též pro OWL Full.
· každý validní závěr v OWL Lite je validní též v OWL DL.
· každý validní závěr v OWL DL je validní též v OWL Full.
OWL představuje stále ještě univerzální technologii pro zápis informací na sémantickém webu. Poskytuje mnohem účinnější nástroj pro interpretabilitu informací na webu než dosud zkoumané technologie. Jedná se o pokročilejší jazyk, který již dovoluje definovat různá omezení. Nevýhodou jazyka OWL je poměrně nepříjemný a složitý způsob zápisu jednotlivých informací. I tak se jedná v dnešní době asi o nejpoužívanější technologii sémantického webu.
OWL Lite
OWL Lite je určen hlavně pro uživatele, kteří potřebují klasifikovat především hierarchii a jednoduchá omezení. Vytvářet nástroje pro OWL Lite by mělo být jednodušší než pro ostatní rozšířenější verze jazyka OWL. OWL Lite poskytuje rychlý přechod pro tezaury a ostatní taxonomie. OWL Lite má nižší formální složitost než OWL DL a poskytuje jen omezené množství konstruktorů [15, 17], které jsou vypsány v Tabulce 3.
Tabulka 3: konstruktory OWL Lite
Konstruktor |
Popis |
|
Vlastnosti RDF Schema |
||
|
třída → skupina instancí, které sdílí stejné vlastnosti |
|
|
podtřída - podřazená třída třídy |
|
|
vlastnost subjektu |
|
|
podvlastnost - podřazená vlastnost vlastnosti |
|
|
doména vlastnosti subjektu |
|
|
rozsah vlastnosti subjektu |
|
|
individuum - instance třídy |
|
Rovnost / Nerovnost |
||
|
stejné třídy - vytváření synonym |
|
|
stejné vlastnosti |
|
|
stejné instance |
|
|
instance se liší od jiných instancí |
|
|
instance se liší od všech ostatních instancí |
|
|
odlišné členy seznamu |
|
Charakterizace |
||
|
spojení různých instancí tříd (např. máDítě) |
|
|
spojení instance třídy a datového typu (např. máVěk) |
|
|
opačná vlastnost |
|
|
tranzitivní vlastnost → pokud je dvojice (a,b) instancí tranzitivní vlastnosti D a dvojice (b,c) je instancí D, pak i dvojice (a,c) je instancí D. |
|
|
symetrická vlastnost → pokud je dvojice (a,b) instancí symetrické vlastnosti D, i dvojice (b,a) je instancí D |
|
|
jedinečná vlastnost |
|
|
inverzně funkční vlastnost - pokud je vlastnost inverzně funkční, pak opak vlastnosti je funkční |
|
Omezení |
||
|
obalující element omezení |
|
|
omezená funkce |
|
|
omezení rozsahu všech vlastností |
|
|
omezení rozsahu některých vlastností |
|
Omezení rozsahu vlastnosti instancí určité třídy |
||
|
minimální rozsah |
|
|
maximální rozsah |
|
|
rozsah - vymezení minima i maxima |
|
Hlavní informace |
||
|
informace o ontologii |
|
|
odkaz na jiné ontologie; je instancí OntologyProperty |
|
Prolínání třídy |
||
|
protínání názvů tříd a omezení |
|
Datové typy |
||
|
datové typy xsd (např. xsd:string atd.) |
|
Poznámky |
||
|
název subjektu v přirozené řeči |
|
|
popis zdroje subjektu |
|
|
další informace o zdroji subjektu |
|
|
definice zdroje subjektu |
|
|
poznámka |
|
|
ontologie |
|
Popis |
||
|
informace o verzi, je instancí AnnotationProperty |
|
|
odkaz na jinou ontologii; je instancí OntologyProperty |
|
|
odkaz na starší verzí dané ontologie, která je s ní kompatibilní; je instancí OntologyProperty |
|
|
odkaz na novější verzi dané ontologie, která s ní však není kompatibilní |
|
|
neschvalovaná třída |
|
|
neschvalovaná vlastnost |
OWL DL
OWL DL je vhodný především pro ty uživatele, kteří chtějí co největší výmluvnost a zároveň požadují zachování výpočetní úplnosti a rozhodnutelnosti. To znamená, že všechny prováděné závěry jsou zaručeně vypočitatelné a všechny výpočty jsou ukončeny v konečném čase. OWL DL zahrnuje všechny konstruktory jazyka OWL, avšak může jich využívat pouze s určitým omezením, například pokud může být třída podtřídou více tříd, třída už nemůže být instancí jiné třídy. V OWL DL můžeme kromě konstruktorů používaných v OWL Lite využít i dalších konstruktorů, které jsou vypsány v Tabulce 4.
Tabulka 4: další OWL konstruktory
Konstruktor |
Popis |
|
Axiomy třídy |
||
|
výčet možných instancí dané třídy |
|
|
třída se neslučuje s jinou |
|
|
stejné třídy (použitelné na označení třídy) |
|
|
podtřída (použitelné na označení třídy) |
|
Booleanovské kombinace označení třídy |
||
|
spojení |
|
|
doplnění |
|
|
protnutí |
|
Libovolný rozsah |
||
|
minimální rozsah |
|
|
maximální rozsah |
|
|
rozsah - vymezení minima i maxima |
|
Informace o obsahu |
||
|
určité instance musí mít vlastnost s danou hodnotou |
OWL Full
OWL Full využijí zejména ti uživatelé, kteří kladou důraz na maximální výmluvnost a syntaktickou svobodu RDF, avšak nepotřebují záruku vypočitatelnosti. V OWL Full může například být třída považována zároveň za sbírku instancí i za instanci samotnou. OWL Full povoluje ontologii rozšiřovat význam předdefinovaných RDF nebo OWL slovníků. Díky tomu je velmi nepravděpodobné, že by byl vytvořen software, který by byl schopný podporovat kompletní logiku všech vlastností OWL Full. OWL Full využívá stejných konstruktorů jako OWL DL.
SPARQL
SPARQL (SPARQL Protocol and RDF Query Language) [21-24] je dotazovací jazyk
pro RDF. Stejně jako RDF se i SPARQL dotazy vyjadřují pomocí trojic objekt - vlastnost - subjekt, které zde mají možnost vystupovat jako proměnné. SPARQL dotaz může vracet žádnou, jednu nebo více odpovědí.
Vytváření dotazů v jazyce SPARQL má svá pravidla:
· na začátku SPARQL dotazu se definují prefixy.
· výběr se provádí pomocí příkazu SELECT
nebo CONSTRUCT
, za kterými následuje výčet proměnných, které chceme vrátit jako odpověď na náš dotaz. Příkaz SELECT
vrací proměnné, zatímco pomocí příkazu CONSTRUCT
můžeme získat jako odpověď RDF trojice.
· podmínky dotazu se uvozují příkazem WHERE
a uzavírají do složených závorek.
· dotazy můžeme dále specifikovat pomocí funkce FILTER
a regulárního výrazu, který při použití i nezohledňuje velká a malá písmena.
· dále platí pro psaní SPARQL dotazů vesměs stejné pravidla jako pro psaní Turtle, například pro zápis IRI či vyjádření datového typu.
Jazyk SPARQL se stal výborným pomocníkem při vytváření dotazů na sémantickém webu. Pro sémantický web představuje tato technologie stejný nástroj jako pro relační databáze jazyk SQL.
Shrnutí
Informace na sémantickém webu jsou zapisovány pomocí technologií sémantického webu. Těch bylo v současné době vytvořeno již veliké množství a tento článek se omezuje jen na ty nejdůležitější a nejužívanější z nich.
Převážná většina technologií pro zápis informací na sémantickém webu je založena na značkovacím jazyku XML. Ten se však sám o sobě pro tyto účely nepoužívá, neboť umožňuje uživateli vytvářet si své vlastní značky a XML dokumenty tak nemusí být vždy čitelné ostatním softwarem či jinými uživateli.
Základní technologii pro vyjádření dat na sémantickém webu představuje technologie RDF. Zde se zavádí kódování pomocí RDF trojic a zároveň identifikování všech informací na sémantickém webu pomocí IRI, díky čemuž je zaručeno, že jednotlivé pojmy nejsou jen slova v dokumentu, ale jsou vázány k unikátní definici, kterou můžeme najít na webu. Přesto je RDF stále spíše základem pro pokročilejší technologie sémantického webu, jelikož stejně jako v XML si i zde uživatel zavádí své vlastní značky, které nemusí být pro ostatní čitelné. RDF je možné vyjádřit buď za pomoci orientovaných RDF grafů nebo značkovacího jazyka RDF/XML, jehož uživatelsky příjemnější alternativu přináší technologie TURTLE.
Sémantickým rozšířením RDF je RDF Schema (RDFS), které poskytuje mechanismy pro popis skupin souvisejících zdrojů a vztahů mezi těmito zdroji. RDFS zavádí omezené množství předdefinovaných tříd a vlastností, které je možné použít. Tyto třídy a vlastnosti jsou poměrně univerzální a dovolují zápis prakticky jakékoli informace, která se již stává čitelnou nejen pro tvůrce.
V současné době představuje asi nejvyužívanější a nejrozšířenější technologii sémantického webu OWL. Ten poskytuje oproti RDF další slovníky pro popis tříd a vlastností spolu s formální sémantikou. OWL přináší mnohem účinnější nástroj pro interpretabilitu informací na webu než předchozí technologie. Jedná se o pokročilejší jazyk, který již dovoluje definovat i různá omezení. Malou nevýhodou jazyka OWL je poměrně nepříjemný a složitý způsob zápisu jednotlivých informací.
Zvláštní postavení mezi technologiemi sémantického webu představuje dotazovací jazyk pro RDF SPARQL. Ten se stal výborným pomocníkem při vytváření dotazů na sémantickém webu. Pro sémantický web představuje tato technologie stejný nástroj jako pro relační databáze jazyk SQL.
Technologie typu RDFS či OWL mohou být použity pro zápis prakticky jakékoli informace na webu. Mimo takto univerzálních technologií však existují i technologie vhodné pouze pro některé skupiny uživatelů se specifickými požadavky či pro vyjádření pouze specifických informací. Některými z těchto technologií se bude zabývat článek o současnosti sémantického webu.
- Berners-Lee, T., J. Hendler, and O. Lassila, The Semantic Web. Scientific American, 2001. 284(5): p. 34-+. ISBN: 0036-8733.
- Motejlková, A., Sémantický web, in Ikaros. 2011. Dostupné z adresy: http://www.ikaros.cz/node/7092 [6].
- Extensible Markup Language (XML), W3C. Dostupné z adresy: http://www.w3.org/XML/ [7].
- Extensible Markup Language (XML) 1.0 (Fifth Edition), T. Bray, et al., Editors. 2008, W3C. Dostupné z adresy: http://www.w3.org/TR/REC-xml/#dt-doctype [8].
- XML Schema, W3C. Dostupné z adresy: http://www.w3.org/XML/Schema [9].
- RELAX NG home page, M. Makoto, Editor. Dostupné z adresy: http://relaxng.org/ [10].
- W3C, RDF Primer, F. Manola and E. Miller, Editors. 2004. Dostupné z adresy: http://www.w3.org/TR/rdf-primer/ [11].
- Decker, S., et al., The semantic Web: The roles of XML and RDF. Ieee Internet Computing, 2000. 4(5): p. 63-74. ISBN: 1089-7801. DOI: 10.1109/4236.877487.
- Wielemaker, J., G. Schreiber, and B. Wielinga, Prolog-based infrastructure for RDF: Scalability and performance, in Semantic Web - Iswc 2003, D. Fensel, K. Sycara, and J. Mylopoulos, Editors. 2003. p. 644-658. ISBN: 3-540-20362-1. DOI: 10.1007/978-3-540-39718-2_41.
- Carroll, J.J., et al., Named graphs. Journal of Web Semantics, 2005. 3(4): p. 247-267. ISBN: 1570-8268. DOI: 10.1016/j.websem.2005.09.001.
- A Survey of RDF/Topic Maps Interoperability Proposals, S. Pepper, et al., Editors. 2006, W3C. Dostupné z adresy: http://www.w3.org/TR/rdftm-survey/ [12].
- Beckett, D. and T. Berners-Lee, Turtle - Terse RDF Triple Language. 2008. Dostupné z adresy: http://www.w3.org/TeamSubmission/turtle/ [13].
- RDF Primer — Turtle version F. Manola, et al., Editors. 2007, W3C. Dostupné z adresy: http://www.w3.org/2007/02/turtle/primer/ [14].
- RDF Vocabulary Description Language 1.0: RDF Schema, D. Brickley and R.V. Guha, Editors. 2004, W3C. Dostupné z adresy: http://www.w3.org/TR/rdf-schema/ [15].
- OWL Web Ontology Language Overview, D.L. McGuinness and F.v. Harmelen, Editors. 2004, W3C. Dostupné z adresy: http://www.w3.org/TR/owl-features/ [16].
- OWL Web Ontology Language Guide, M.K. Smith, C. Welty, and D.L. McGuinness, Editors. 2004, W3C. Dostupné z adresy: http://www.w3.org/TR/owl-guide/ [17].
- Bechhofer, S., et al., OWL Web Ontology Language Reference, M. Dean and G. Schreiber, Editors. 2004, W3C. Dostupné z adresy: http://www.w3.org/TR/owl-ref/ [18].
- Horrocks, I., et al., OWL rules: A proposal and prototype implementation. Journal of Web Semantics, 2005. 3(1): p. 23-40. ISBN: 1570-8268. DOI: 10.1016/j.websem.2005.05.003.
- Motik, B., R. Studer, and U. Sattler, Query answering for OWL-DL with rules. Journal of Web Semantics, 2005. 3(1): p. 41-60. ISBN: 1570-8268. DOI: 10.1016/j.websem.2005.05.001.
- OWL 2 Web Ontology Language Profiles, B. Motik, et al., Editors. 2009, W3C.
- SPARQL Query Language for RDF, E. Prud'hommeaux and A. Seaborne, Editors. 2008, W3C. Dostupné z adresy: http://www.w3.org/TR/rdf-sparql-query/ [19].
- Angles, R. and C. Gutierrez, The Expressive Power of SPARQL, in Semantic Web - Iswc 2008, A. Sheth, et al., Editors. 2008. p. 114-129. ISBN: 978-3-540-88563-4. DOI: 10.1007/978-3-540-88564-1_8.
- Perez, J., M. Arenas, and C. Gutierrez, Semantics and complexity of SPARQL, in Semantic Web - ISEC 2006, Proceedings, I. Cruz, et al., Editors. 2006. p. 30-43. ISBN: 3-540-49029-9. DOI: 10.1007/11926078_3.
- Quilitz, B. and U. Leser, Querying distributed RDF data sources with SPARQL, in Semantic Web: Research and Applications, Proceedings, S. Bechhofer, et al., Editors. 2008. p. 524-538. ISBN: 978-3-540-68233-2. DOI: 10.1007/978-3-540-68234-9_39.