-
Notifications
You must be signed in to change notification settings - Fork 1
RDFa Recipe Czech
Motto: "Be liberal in what you accept, and conservative in what you send." — Jon Postel
Následující text je návodem na použití datového modelu pro popis nabídky práce v RDFa. Pokud jste dosud RDFa nepoužili, projděte si nejprve úvod k zápisu stukturovaných dat do webových stránek pomocí RDFa.
Ingredience pro tento recept (třídy a vlastnosti) použité pro modelování dat jsou popsány v referenční příručce.
- Úplný příklad
- Uvedení jmenných prostorů
- Vyznačení zdroje pro nabídku práce
- Popis vlastností nabídky práce
- Vnořené zdroje
- Rozšíření popisu nabídky práce o další informace
- Validace
Na začátek receptu si uvedeme úplný vzorový příklad popisu pracovní nabídky pomocí RDFa, který v následujících částech rozebereme v detailu. Stejná data zapsaná v RDFa si můžete prohlédnout v syntaxi Turtle nebo ve vizualizaci.
Skladník/ce - Řidič/ka VZV
Společnost ACME s.r.o. hledá nové zaměstnance na pozici Skladník/ce - Řidič/ka VZV v lokalitě Ostrava.
Min. vyučení, osvědčení na vysokozdvižný vozík - podmínkou, pracovitost, bezúhonnost.
Požadovaná praxe
- Práce s vysokozdvižným vozíkem, 1 rok
- Praxe v oboru, 2 roky (nutno doložit referencemi)
Adresa pracoviště Místecká 126
720 00 Ostrava
Úvazek plný úvazek Mzda 85 Kč (hodinová mzda) Datum nástupu Duben 2013 Kontaktní údaje Jan Hluchý
Telefon: 599 123 456 789
Změněno: 7. března 2013
<!DOCTYPE html>
<html lang="cs" vocab="http://schema.org/"
prefix="dcterms: http://purl.org/dc/terms/">
<head>
<meta charset="utf-8">
<title>Skladník/ce - Řidič/ka VZV</title>
</head>
<body typeof="JobPosting">
<p property="title"><strong>Skladník/ce - Řidič/ka VZV</strong></p>
<div property="description">
<p>Společnost ACME s.r.o. hledá nové zaměstnance na pozici Skladník/ce - Řidič/ka VZV v lokalitě Ostrava.</p>
<p>Min. vyučení, osvědčení na vysokozdvižný vozík - podmínkou, pracovitost, bezúhonnost.</p>
</div>
<table>
<tr>
<th>Požadovaná praxe</th>
<td>
<ul>
<li rel="experienceRequirements"><span property="description">Práce s vysokozdvižným vozíkem</span>, <span property="duration" content="P1Y">1 rok</span></li>
<li rel="experienceRequirements"><span property="description">Praxe v oboru</span>, <span property="duration" content="P2Y">2 roky</span> (<span property="references" content="true">nutno doložit referencemi</span>)</li>
</ul>
</td>
</tr>
<tr rel="jobLocation">
<th>Adresa pracoviště</th>
<td>
<p property="streetAddress">Místecká 126</p>
<p>720 00 <span property="addressLocality">Ostrava</span></p>
</td>
</tr>
<tr>
<th>Úvazek</th>
<td property="employmentType">plný úvazek</td>
</tr>
<tr rel="compensation">
<th>Mzda</th>
<td><span property="value">85</span> <span property="currency" content="CZK">Kč</span> (<span property="type">hodinová mzda</span>)</td>
</tr>
<tr>
<th>Datum nástupu</th>
<td property="startDate" content="2013-04-01">Duben 2013</td>
</tr>
<tr>
<th>Kontaktní údaje</th>
<td rel="contact">
<p><strong property="name">Jan Hluchý</strong></p>
<p>Telefon: <span property="telephone" content="+420599123456789">599 123 456 789</span></p>
</td>
</tr>
</table>
<p><strong>Změněno:</strong> <span property="dcterms:modified" content="2013-03-07">7. března 2013</span></p>
</body>
</html>
V následujících částech textu postupně probereme jednotlivé prvky použitého RDFa.
<html vocab="http://schema.org/"
prefix="dcterms: http://purl.org/dc/terms/">
Hlavním slovníkem, který použijeme pro popis nabídky práce, je Schema.org. Protože většina údajů v datech bude vyznačena právě pomocí Schema.org, přiřadíme URI http://schema.org
jako hodnotu atributu vocab
, abychom se na prvky Schema.org mohli odkazovat jen s použitím jejich lokálních jmen. Jako doplněk použijeme další rozšířený RDF slovník, a to Dublin Core Terms, jehož URI http://purl.org/dc/terms/
si přiřadíme pomocí atributu prefix
pod zavedený prefix dcterms
.
<body typeof="JobPosting">
<!-- popis nabídky práce -->
</body>
Typem popisovaného zdroje je v případě nabídky práce třída JobPosting
ze Schema.org. Příslušnost zdroje k této třídě vyznačíme atributem typeof
. V případě, že je na webové stránce popsána právě 1 nabídka práce, můžeme typeof
použít jako atribut elementu <body>
:
Podobným způsobem můžeme označit typy dalších, na stránce popisovaných zdrojů. Vyznačení těchto informací však není povinné. Nutné je pouze uvedení alespoň 1 zdroje s typem JobPosting
pro "ukotvení" popisu.
Volitelně můžete k elementu označenému typem JobPosting
a dalším popisovaným zdrojům přidat jejich URI pomocí atributu about
(např. about="#nabidka_prace"
).
<body typeof="JobPosting">
<p property="title"><strong>Skladník/ce - Řidič/ka VZV</strong></p>
<div property="description">
<p>Společnost ACME s.r.o. hledá nové zaměstnance na pozici Skladník/ce - Řidič/ka VZV v lokalitě Ostrava.</p>
<p>Min. vyučení, osvědčení na vysokozdvižný vozík - podmínkou, pracovitost, bezúhonnost.</p>
</div>
<p><strong>Změněno:</strong> <span property="dcterms:modified" content="2013-03-07">7. března 2013</span></p>
</body>
Nyní budeme pokračovat v receptu přidáním vlastností nabídky práce, mezi které spadá například název pracovní pozice nebo popis pracovní náplně. Doporučený výčet vlastností je k dispozici v dokumentaci datového modelu pro třídu JobPosting
.
<html lang="cs">
Jazyk textů obsažených v popisované HTML stránce uveďte pomocí atributu lang
na kořenovém elementu <html>
. Jako hodnotu uveďte příslušný ISO 639-1 kód.
Jazykovou anotaci budou tímto způsobem sdílet všechny vyznačené textové hodnoty. Pokud byste chtěli jazyk popisu změnit, přidejte pro element obsahující text v jiném jazyce atribut lang
s hodnotou pro daný jazyk.
<span property="duration" content="P1Y">rok</span>
Pro určení strojově čitelné hodnoty lze použít atribut content
, který nijak neovlivní vizuální vzezření webové stránky, ale dodá hodnotu v podobě lépe automaticky zpracovatelné. Tuto techniku můžete použít například pro uvedení délky trvání požadované praxe pomocí hodnot odpovídajících datovému typu xsd:duration
:
Strojově čitelné údaje mohou být uvedeny pomocí prázdných a neviditelných elementů, aby je bylo možné jednodušeji automaticky generovat. Tyto elementy mohou být umístěny například na začátku HTML dokumentu. V takovém případě je ale nutné uvést pomocí atributu about
popisovaný zdroj, protože příslušnost dat k tomuto zdroji nelze odvodit z jejich umístění v dokumentu. Tento postup je doporučen pouze v případě, kdy by generování strojově čitelných hodnot nebylo možné společně s vlastním, nestrukturovaným obsahem dokumentu.
<span about="#nabidka" property="startDate" content="2013-04-01"></span>
Poskytování neviditelného obsahu ovšem není doporučováno a například Google doporučuje se neviditelnému obsahu vyhnout, pokud není použit právě pro zachycení strojově čitelných dat.
<span property="type">hodinová mzda</span>
V některých případech (např. pro vlastnost type
) jsou hodnoty vlastností dány výčtem řízeného slovníku. Týká se to například vlastnosti type
pro typ kompenzace, pro kterou jsou doporučené hodnoty roční, měsíční, hodinová nebo fixní. Informace o doporučovaných hodnotách pro jednotlivé vlastnosti naleznete v příslušné dokumentaci.
<h1 property="title">Skladník/ce - Řidič/ka VZV</h1>
<div property="description">
<p>Společnost ACME s.r.o. hledá nové zaměstnance na pozici Skladník/ce - Řidič/ka VZV v lokalitě Ostrava.</p>
<p>Min. vyučení, osvědčení na vysokozdvižný vozík - podmínkou, pracovitost, bezúhonnost.</p>
</div>
Obsah nabízené práce může být popsán dvěma základními datovými vlastnostmi. Pomocí description
lze vyznačit nestrukturovaný textový popis práce a vlastností title
je možné zachytit název pracovní pozice.
<strong>Změněno:</strong> <span property="dcterms:modified" content="2013-03-07">7. března 2013</span>
Data vztahující se k nabídce práce zapisujte ve tvaru YYYY-MM-DD
(4 čísla pro rok, 2 čísla pro měsíc a 2 čísla pro den, vzájemně oddělená pomlčkami), který odpovídá datovému typu xsd:date
. Datum nástupu zapište pomocí vlastnosti startDate
, datum poslední aktualizace nabídky práce pomocí dcterms:modified
a datum, do něhož jsou údaje v nabídce platné, můžete přidat jako hodnotu vlastnosti dcterms:valid
.
Speciálním případem data je datum nástupu (vlastnost startDate
), jehož hodnotou může být datum, ale také výraz "ihned" pro nabídky práce, kde je požadován okamžitý nástup uchazeče.
Hodnotou velké části vlastností nabídek práce jsou jednoduché texty, data nebo čísla. Některé vlastnosti však jako hodnoty používají složené vnořené zdroje, které jsou opět popsány svými vlastnostmi. Například hodnotou vlastnosti compensation
jsou zdroje typu Compensation
, které neobsahují pouze samotnou výši kompenzace, ale také vlastnosti pro určení její měny nebo typu vyplácení, jako je například hodinová mzda nebo fixní částka.
Doporučený výčet objektových vlastností použitelných pro popis nabídky práce je součástí dokumentace datového modelu. V tomto receptu si podrobněji rozebereme vybrané objektové vlastnosti.
<tr>
<th>Požadovaná praxe</th>
<td>
<ul>
<li rel="experienceRequirements"><span property="description">Práce s vysokozdvižným vozíkem</span>, <span property="duration" content="P1Y">1 rok</span></li>
<li rel="experienceRequirements"><span property="description">Praxe v oboru</span>, <span property="duration" content="P2Y">2 roky</span> (<span property="references" content="true">nutno doložit referencemi</span>)</li>
</ul>
</td>
</tr>
Údaje o požadovaných zkušenostech pro popisovanou nabídku práce odkazujte pomocí vlastnosti experienceRequirements
. Pro každý požadavek použijte vlastnost experienceRequirements
zvlášť. U zkušeností vyžadovaných pro danou práci můžete popsat jejich délku pomocí vlastnosti duration
, textový popis pomocí vlastnosti description
a nutnost doložit reference pomocí vlastnosti references
, která má hodnotu true
, pokud reference vyžadovány jsou, a false
, pokud doložení referencí není nutné.
<tr rel="jobLocation">
<th>Adresa pracoviště</th>
<td>
<p property="streetAddress">Místecká 126</p>
<p>720 00 <span property="addressLocality">Ostrava</span></p>
</td>
</tr>
Místo výkonu práce odkazujte pomocí vlastnosti jobLocation
. K tomuto zdroji lze pomocí objektové vlastnosti address
přidat poštovní adresu. Pro zjednodušení však můžete rel="jobLocation"
přeskočit a vlastnosti adresy připojit rovnou skrze rel="address"
. U adresy pracoviště můžete zachytit ulici a číslo popisné (pomocí streetAddress
) a název obce (pomocí addressLocality
). Tento popis můžete doplnit dalšími vlastnostmi, které jsou použitelné s instancemi třídy PostalAddress
.
<tr rel="compensation">
<th>Mzda</th>
<td><span property="value">85</span> <span property="currency" content="CZK">Kč</span> (<span property="type">hodinová mzda</span>)</td>
</tr>
Kompenzaci určující platbu za odvedenou práce odkazujte pomocí vlastnosti compensation
. U kompenzací hrají hlavní roli 3 vlastnosti: value
pro určení její výše, currency
pro určení měny, v níž je kompenzace vyplácena, a type
stanovující způsob výpočtu a vyplácení kompenzace. Dále lze použít jakékoli vlastnosti, které jsou přípustné s instancemi třídy Compensation
; například minValue
a maxValue
pro určení rozpětí výše kompenzace.
<td rel="contact">
<p><strong property="name">Jan Hluchý</strong></p>
<p>Telefon: <span property="telephone" content="+420599123456789">599 123 456 789</span></p>
</td>
Informace o tom, jak lze zaměstnavatele v případě zájmu o nabídku práce kontaktovat, lze připojit pomocí vlastnosti contact
. Typické kontaktní údaje lze popsat pomocí vlastností jako name
pro jméno kontaktní osoby, telephone
pro telefonní číslo nebo email
pro emailovou adresu.
V případě potřeby může být popis nabídek práce a dalších výše zmíněných entit rozšířen dalšími vlastnostmi. Například:
- Je možné dodat hodnoty pro zbylé, výše nepopsané vlastnosti třídy
JobPosting
. - Lze použít jiné prvky slovníku Schema.org.
- Stejně tak lze uplatnit další RDF slovníky a ontologie.
Validaci výsledné HTML stránky popsané RDFa můžete provést pomocí Schema.org JobPosting validátoru.