Skip to content
Jindrich Mynarz edited this page Apr 25, 2014 · 8 revisions

Recept na vyznačení nabídky práce pomocí RDFa

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.

Obsah

  1. Úplný příklad
  2. Uvedení jmenných prostorů
  3. Vyznačení zdroje pro nabídku práce
  4. Popis vlastností nabídky práce
  5. Vnořené zdroje
  6. Rozšíření popisu nabídky práce o další informace
  7. Validace

Úplný příklad

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.

Příklad nabídky práce

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 (hodinová mzda)
Datum nástupu Duben 2013
Kontaktní údaje

Jan Hluchý

Telefon: 599 123 456 789

Změněno: 7. března 2013

Zdrojový kód HTML včetně RDFa

<!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"></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.

Uvedení jmenných prostorů

<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.

Vyznačení zdroje pro nabídku práce

<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").

Popis vlastností nabídky práce

<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.

Jazyk textů

<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.

Strojově čitelné hodnoty

<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.

Řízené slovníky

<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.

Popis práce

<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.

Stanovení dat

<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.

Vnořené zdroje

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.

Požadované zkušenosti

<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é.

Adresa pracoviště

<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.

Kompenzace

<tr rel="compensation">
  <th>Mzda</th>
  <td><span property="value">85</span> <span property="currency" content="CZK"></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.

Kontaktní údaje

<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.

Rozšíření popisu nabídky práce o další informace

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:

Validace

Validaci výsledné HTML stránky popsané RDFa můžete provést pomocí Schema.org JobPosting validátoru.