Przewodnik schema.org – zakres obiektów
Słownik schema.org jest ograniczonym zestawem typów (klas) obiektów, dla których dostępne są zbiory właściwości, których wartości powinny odpowiadać określonym typom danych. Różnorodność zasobów internetowych i opisywanych w nich obiektów jest jednak tak duża, że niemożliwe jest odgórne określenie kompletnego słownika danych strukturalnych. Dlatego schema.org uwzględnia rozwiązania, które mają za zadanie znieść sztywne ograniczenia narzuconego słownika.
Podstawowe typy danych
Wartość właściwości obiektu może być innym obiektem posiadającym własny zestaw właściwości. W innych przypadkach wartość właściwości przyjmuje jeden z podstawowych typów danych. Podstawowe typy danych tworzą prostą hierarchię przedstawioną na poniższym schemacie:
- Boolean – przyjmuje jedną z wartości logicznych True lub False
- Date – data podawana w formacie ISO 8601
- Number – liczba
- Float – liczba zmiennoprzecinkowa
- Integer – liczba całkowita
- Text – łańcuch znaków (tekst)
- URL – adres URL.
Typy obiektów (klasy)
Wszystkie typy obiektów (klasy) wywodzą się od klasy Thing – najbardziej ogólnego typu obiektu. Obecnie drzewo danych strukturalnych schema.org, definiujące właściwości i relacje, obejmuje ponad 300 typów obiektów. Jedne z najpopularniejszych to:
- CreativeWork, Book, Movie, MusicRecording, Recipe, TVSeries
- AudioObject, ImageObject, VideoObject
- Event
- Organization
- Person
- Place, LocalBusiness, Restaurant
- Product, Offer
- Review, AggregateRating.
Mechanizm rozszerzeń
Nawet tak rozbudowany zbiór typów elementów nie jest wystarczający, aby objąć całkowicie bogactwo danych strukturalnych w Internecie. Dlatego schema.org uwzględnia mechanizm, który pozwala webmasterom i programistom na rozszerzanie istniejących schematów. Rozszerzenia, które zostaną szerzej rozpowszechnione w Internecie mogą zostać włączone z czasem do słownika schema.org.
Nazewnictwo
Przy tworzeniu rozszerzeń należy posługiwać się konwencją nazewnictwa wykorzystywaną w schema.org:
- Nazwy typów i enumeracji (wyliczeń) rozpoczynamy wielką literą i zapisujemy w notacji CamelCase (polega na łączeniu poszczególnych słów w nazwie i rozpoczynaniu każdego z nich wielką literą, np. CafeOrCoffeeShop).
- Nazwy właściwości rozpoczynamy małą literą i również zapisujemy w notacji camelCase. Właściwości, które mogą posiadać wiele wartości nazywamy w liczbie mnogiej (np. reviews, photos), zaś te przyjmujące wyłącznie jedną wartość zapisujemy w liczbie pojedynczej (np. gender, numberOfPages).
Jak rozszerzać słownik
Schema.org korzysta ze znaku ukośnika „/” przy tworzeniu rozszerzeń, które są uszczegółowieniami dla istniejącego słownika klas obiektów.
Rozszerzanie istniejącej właściwości
Właściwość rozszerza się przez dodanie po jej nazwie znaku ukośnika, a po nim nazwy rozszerzenia, np.:
headline/heading headline/subheading headline/chapter
Rozszerzanie istniejącej klasy
Klasę (typ) obiektu rozszerza się przez dodanie po jej nazwie znaku ukośnika, a po nim nazwy rozszerzenia:
Person/Scientist
Klasę rozszerzoną można dalej rozszerzyć w analogiczny sposób, np:
Person/Scientist/NaturalPhilosopher
Można także wprowadzać nowe właściwości dla dowolnego typu zdefiniowanego w schema.org, nawet jeśli nie są one rozszerzeniem już istniejącej właściwości. Jest to rozwiązanie bardziej zalecane niż definiowanie nowej klasy, ponieważ pozwala na zrozumienie przez wyszukiwarki przynajmniej części informacji opisujących obiekt.
Rozszerzanie enumeracji
Enumercję (wyliczenie) rozszerza się przez dodanie po nazwie elementu enumeracji znaku ukośnika, a po nim nazwy rozszerzenia, np.:
PreOrder/PrePayment
Oficjalny blog projektu schema.org
Osoby zainteresowane projektem schema.org mogą od niedawna śledzić oficjalny blog schema.org. Według zapowiedzi ma to być miejsce dzielenia się pomysłami przez zespół pracujący nad projektem, zbierania uwag i ogłaszania aktualizacji schematów schema.org.