Uporządkowane dane dotyczące działań związanych z książkami (Book)

Działania związane z książkami sprawiają, że wyszukiwarka Google staje się miejscem odkrywania książek i autorów. Dzięki temu użytkownicy wyszukiwarki mogą szybko kupić lub wypożyczyć znalezione pozycje bezpośrednio z poziomu wyników wyszukiwania. Na przykład po wpisaniu Pajęczyna Szarloty użytkownik może zobaczyć wyniki, które umożliwiają kupienie lub wypożyczenie książki. Jeśli jesteś dostawcą książek, możesz przekazać do Google plik danych z opisanym tu schematem uporządkowanych danych. Zawarte w naszej specyfikacji elementy ReadAction umożliwiają użytkownikom kupienie książki, a BorrowAction – jej wypożyczenie.

Działania związane z książkami w wynikach wyszukiwania

Działania związane z czytaniem i działania związane z wypożyczaniem, które są zintegrowane z panelami, powodują wyświetlanie opcji zakupu lub wypożyczenia książki. Dzięki podanym przez Ciebie linkom działania związane z czytaniem i działania związane z wypożyczaniem odsyłają użytkowników bezpośrednio z panelu wiedzy i innych usług Google na stronę książki w Twojej witrynie lub aplikacji.

Kolejność dostawców w panelu wiedzy jest dostosowana indywidualnie do każdego użytkownika i może się zmieniać. Oznacza to, że użytkownicy widzą wyniki w różnej kolejności. Co więcej, kolejność dostawców wyświetlanych danemu użytkownikowi może się zmieniać za każdym razem. Na kolejność może wpłynąć wiele różnych czynników. Jeśli na przykład użytkownik kliknie w panelu wiedzy link danego dostawcy, jest bardziej prawdopodobne, że ten dostawca zostanie wyświetlony na wyższej pozycji. Kolejności nie można kontrolować.

Pierwsze kroki

Aby zaimplementować działania związane z książkami, musisz utworzyć plik danych zgodnie z definicjami typów uporządkowanych danych używanych w przypadku tych działań. Najpierw jednak zapoznaj się z tymi sekcjami:

Wytyczne

Aby zadbać o prawidłowe wyświetlanie książek w wyszukiwarce, musisz znać podstawowe pojęcia i ważne szczegółowe informacje. Pamiętaj, że Twój plik danych musi być zgodny ze specyfikacją standardowego formatu.

Przestrzegaj ogólnych wytycznych dotyczących uporządkowanych danychPodstawowych zasad wyszukiwania oraz tych wytycznych:

Utwory i wydania

W tej dokumentacji w odniesieniu do książek używamy 2 różnych terminów:

  • Utwór: abstrakcyjna koncepcja książki. Atrybutami utworu są takie metadane jak tytuł, autor czy język oryginału.
  • Wydanie: wszystkie istniejące egzemplarze książki pochodzące z jednego składu drukarskiego. Atrybutami wydania są takie metadane jak rok publikacji, nazwa wydania czy numer ISBN (międzynarodowy znormalizowany numer książki).

Na przykład Pajęczyna Szarloty to utwór, ale egzemplarze pochodzące z jakiegokolwiek składu drukarskiego to wydanie. Utwór Pajęczyna Szarloty może być dostępny jako wydanie 1, wydanie 2, wydanie skrócone, wydanie w tłumaczeniu na język francuski itd.

To rozróżnienie jest szczególnie ważne w przypadku pliku danych, w którym może nie być to oczywiste. Istnieją 2 elementy Book:

  • Book (Work) jest elementem Book najwyższego poziomu:
    • workExample to właściwość elementu Work, która określa tylko 1 wystąpienie Book (Edition).
    • W przypadku każdego elementu Work musi zostać podana co najmniej 1 właściwość workExample.
  • Book (Edition) jest elementem Book niższego poziomu.

Warto pamiętać, że utwór może mieć wiele wydań. Zalecamy, by w miarę możliwości je grupować. Dzięki temu systemy Google mogą wykorzystać wszystkie istotne informacje o książce i wyświetlić je w wyszukiwarce. Jeśli to konieczne, możesz podzielić wydania na kilka rekordów utworu, ale każdy z nich musi zawierać:

  • inną właściwość @id,
  • co najmniej 1 wydanie z numerem ISBN lub innym obsługiwanym identyfikatorem.

Systemy bibliotek i ich oddziały

Library entity to typ elementu Library najwyższego poziomu. Jest to abstrakcyjny konstrukt, który składa się z elementu LibrarySystem i każdego elementu Library (member) niższego poziomu danego systemu bibliotek.

Element LibrarySystem jest abstrakcyjny i odpowiada wspólnej sieci oddziałów biblioteki. Na przykład Miejska Biblioteka Publiczna we Wrocławiu może zostać określona jako element LibrarySystem. Według strony wrocławskiej biblioteki miejskiej jest to system bibliotek publicznych działający we Wrocławiu, stolicy Dolnego Śląska. Składa się on z 40 filii lub oddziałów.

Każdy element LibrarySystem musi zawierać co najmniej 1 element Library (member), nawet jeśli w rzeczywistości biblioteka nie jest częścią żadnego systemu bibliotek. W takiej sytuacji, aby umożliwić implementację działań związanych z książkami, biblioteka jest jedynym oddziałem własnego systemu. Na potrzeby implementacji działań związanych z książkami oddział biblioteki, w przeciwieństwie do jej systemu, nie jest abstrakcyjny i ma konkretny adres.

I na odwrót – każdy element Library (member) musi należeć do co najmniej 1 elementu LibrarySystem.

ISBN i inne obsługiwane identyfikatory

ISBN to główny sygnał uzgodnienia otrzymywany, gdy wyszukiwarka Google dopasuje dane z pliku danych do danych Google. Musisz podać numer ISBN lub inny obsługiwany identyfikator w przypadku wszystkich książek, które mają się wyświetlać w wynikach wyszukiwania. Jeśli tego nie zrobisz, prawdopodobnie nie uda się dopasować i w konsekwencji wyświetlić Twoich książek.

Preferowanym przez wyszukiwarkę Google numerem jest ISBN-13, ale możesz też podać:

  • numer OCLC (Online Computer Library Center),
  • numer LCCN (Library of Congress Control Number),
  • e-kod JP.

Aby użytkownicy mogli łatwo znaleźć Twoje książki, zadbaj o to, by linki w pliku danych były zgodne z tymi wytycznymi:

  • Jeśli masz zduplikowane strony zawierające te same treści, pamiętaj, by użyć kanonicznego adresu URL z tytułem książki i innymi informacjami o niej.
  • Po kliknięciu linku działania związanego z czytaniem lub działania związanego z wypożyczaniem użytkownik powinien trafić na stronę, która umożliwia bezpośredni zakup lub wypożyczenie książki. Linki działań nie mogą wskazywać stron z kolejnymi linkami, które trzeba kliknąć, by kupić lub wypożyczyć daną treść. Nie należy na przykład przekierowywać użytkowników na stronę wyników wyszukiwania ani stronę z podsumowaniem wiadomości o produkcie.

Tworzenie pliku danych

Jeśli w swojej witrynie sprzedajesz książki, musisz przesłać plik danych Book. Skontaktuj się z przedstawicielem Google i dowiedz się, jak i na jaki adres przesłać plik danych.

Jeśli w swojej witrynie wypożyczasz książki, musisz przesłać 2 osobne pliki danych: BookLibrary. Skontaktuj się z przedstawicielem Google i dowiedz się, jak i na jaki adres przesłać pliki danych.

Przestrzegaj wymagań dotyczących rozmiaru, ilości i formatu pliku danych

Oto obowiązujące wymagania:

  • Wymagania dotyczące rozmiaru pliku danych:
    • Rozmiar nieskompresowanego pliku danych nie może przekraczać 1 GB.
    • Oznacza to, że plik danych, który ma zostać skompresowany, musi być mniejszy niż 1 GB. Jeśli jest większy, musisz podzielić go na kilka mniejszych plików.
  • Możesz skompresować pliki danych do formatu ZIP, GZ, TAR, TAR.GZ, JAR, AR, ARJ, CPIO lub innego formatu zrzutu archiwum.
  • Jeśli masz kilka plików danych, możesz je przesłać w niezmienionej postaci lub dodać do pliku indeksu mapy witryny.
  • Pojedyncze pliki danych muszą mieć rozszerzenie nazwy pliku .json.

Przestrzegaj wymagań dotyczących treści pliku danych

Zwróć szczególną uwagę na te wymagania dotyczące treści pliku danych:

  • Plik danych nie może zawierać nieaktualnych elementów. Są to elementy, które nie są już dostępne w witrynie lub mają właściwość availabilityEnds ustawioną na datę z przeszłości.
  • Wszystkie precyzyjne linki, takie jak urlTemplate, i wszystkie adresy URL, takie jak url, które uwzględniasz w pliku danych, muszą być produkcyjnymi wersjami adresów URL. Nie używaj nieprodukcyjnych adresów URL wykorzystywanych na przykład podczas kontroli jakości lub programowania.
  • Wszystkie adresy URL, takie jak url, muszą być kanoniczne.
  • Każdy element w pliku danych musi określać te właściwości:
    • unikalny identyfikator: @id,
    • unikalny adres URL: url,
    • unikalny precyzyjny link: urlTemplate.

Testowanie pliku danych za pomocą narzędzia do weryfikacji pliku danych

Zalecamy wykonanie opisanych poniżej czynności, by za pomocą narzędzia do weryfikacji pliku danych naprawić typowe błędy i zakończyć ostrzeżenia:

  • Sprawdź, czy w polu Validate on: (Zweryfikuj) jest wybrana odpowiednia opcja. W przypadku elementu Book wybierz Książki .

  • Sprawdź, czy wartość @type jest poprawnie zapisana.
  • Sprawdź, czy wartość @context jest prawidłowo ustawiona. W przypadku ReadActionBorrowAction ustaw "@context": "https://schema.org".

Hostowanie pliku danych

Gdy Twój plik danych będzie gotowy, umieść go w bezpiecznej lokalizacji. Google regularnie pobiera plik danych, by mieć pewność, że jego treść jest aktualna.

Metody hostowania

Oto obsługiwane metody hostowania pliku danych:

Hosting Obsługa uwierzytelniania
Google Cloud Storage Uprawnienia wyświetlającego obiekty Cloud Storage
HTTPS Nazwa użytkownika + hasło lub certyfikaty klienta HTTP
SFTP Hasło, klucz + wyrażenie lub oba te elementy
AWS S3 Identyfikator klucza + klucz dostępu

Przesyłanie pliku danych do sprawdzenia

Aby Twoje treści były dostępne w wyszukiwarce Google, zespół pomocy Google musi sprawdzić jakość precyzyjnych linków w Twoim pliku danych. Zdecydowanie zalecamy ręczne przetestowanie niektórych precyzyjnych linków. W ten sposób upewnisz się, czy rzeczywiście przekierowują na stronę, na której użytkownicy mogą kupować lub wypożyczać książki.

W swojej prośbie o sprawdzenie pliku danych podaj te informacje:

  • Lokalizacja hosta: adres URL pliku danych.
  • Uwierzytelnianie hosta (jeśli jest używane): dane uwierzytelniające, dzięki którym Google może pobrać plik danych z Twojej lokalizacji hosta.

Aktualizowanie pliku danych według potrzeb

Chociaż zalecamy codzienne aktualizowanie pliku danych, ostatecznie zależy to od tego, jak często zmienia się Twój katalog. Zapoznaj się z tymi uwagami i wskazówkami:

  • Wyszukiwarka Google nie obsługuje aktualizacji w czasie rzeczywistym.
  • Wyszukiwarka Google pobiera plik danych raz dziennie i zwykle indeksuje jego zawartość w ciągu 2 dni.
  • Jeśli w dostępności wydania zachodzi dająca się przewidzieć zmiana, użyj właściwości availabilityStartsavailabilityEnds, aby ustawić dokładne daty. Jeśli element nie jest już dostępny, usuń go całkowicie.

Definicje typów uporządkowanych danych

Aby treści mogły się wyświetlać w uporządkowanych wynikach wyszukiwania, musisz w nich uwzględnić wymienione poniżej wymagane właściwości. Możesz też dodać właściwości zalecane, by wzbogacić informacje o treściach i zwiększyć w ten sposób wygodę użytkowników.

Element DataFeed

Każdy przesłany do Google plik danych schema.org musi zawierać 1 element DataFeed poziomu głównego. Wszystkie elementy BookLibrary muszą być wymienione w polu dataFeedElement elementu DataFeed.

Właściwości obsługiwane przez Google:

Właściwości wymagane
@context

Text

Ustaw jako: https://schema.org.

@type

Text

Ustaw jako: DataFeed.

dataFeedElement

Book lub LibrarySystem

Ustaw jako pojedynczy element Book lub LibrarySystem. W przeciwnym razie ustaw jako tablicę elementów Book lub LibrarySystem. Nie ustawiaj tej wartości jako tablicy, która zawiera zarówno elementy Book, jak i LibrarySystem.

Przykład użycia w pliku danych Book:

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          ...
        },
        ...
      ]
   }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Przykład użycia w pliku danych LibrarySystem:

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "LibrarySystem",
      "@id": "https://example.com/library-systems/100",
      "name": "Santa Clara County Library District",
      "additionalProperty": [
        {
          "@type": "PropertyValue",
          "name": "librarytype",
          "value": "public"
        }
      ],
      ...
    },
    ...
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}
dateModified

DateTime

Data i godzina ostatniej aktualizacji pliku danych podana w formacie ISO 8601.

Element Book

Pełną definicję elementów Book znajdziesz na schema.org/Book. Najważniejsze są jednak tylko poniższe właściwości. W przypadku każdej książki, którą chcesz uwzględnić w pliku danych, musisz określić wymagane właściwości. Możesz też zdefiniować właściwości zalecane, by wzbogacić informacje i zwiększyć w ten sposób wygodę użytkowników.

Book (Work)

Ten element Book jest typem elementu najwyższego poziomu. Odpowiada on utworowi.

Właściwości obsługiwane przez Google:

Właściwości wymagane
@context

Text

Ustaw jako: https://schema.org.

@id

Text

Unikalny globalnie identyfikator książki w formacie URL. Identyfikator musi być stosowany wyłącznie w Twojej organizacji. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Format adresu URL jest zalecany, ale nie wymagany. Nie musi to być działający link. Domena użyta w wartości @id musi należeć do Twojej organizacji.

@type

Text

Ustaw jako: Book.

author

Person lub Organization

Autor lub autorzy książki.

name

Text

Tytuł książki.

url

URL

Adres URL w Twojej witrynie, pod którym przedstawiono lub opisano daną książkę. Ten link pomaga dokładnie uzgodnić zawartość Twojego pliku danych z zawartością baz danych Google. Adres URL może być taki sam jak workExample.target.urlTemplate.

W przypadku rzeczywistej strony docelowej wyszukiwarka Google użyje adresu URL podanego w workExample.target.urlTemplate.

workExample

Book (Edition)

Wydanie lub wydania danego utworu.

Właściwości zalecane
sameAs

URL

Adres URL strony referencyjnej, która identyfikuje utwór. Może to być na przykład strona o danej książce w Wikipedii, Wikidata, VIAF lub amerykańskiej Bibliotece Kongresu.

Book (Edition)

Właściwość workExample używa tego elementu Book. Odpowiada on wydaniu danego utworu.

Właściwości obsługiwane przez Google:

Właściwości wymagane
@id

Text

Unikalny globalnie identyfikator książki w formacie URL. Identyfikator musi być stosowany wyłącznie w Twojej organizacji. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Format adresu URL jest zalecany, ale nie wymagany. Nie musi to być działający link. Domena użyta w wartości @id musi należeć do Twojej organizacji.

@type

Text

Ustaw jako: Book.

bookFormat

Enum

Format wydania. Musi mieć jedną z tych wartości:

  • https://schema.org/AudiobookFormat
  • https://schema.org/EBook
  • https://schema.org/Hardcover
  • https://schema.org/Paperback
inLanguage

Text

Główny język treści danego wydania. Użyj jednego z dwuliterowych kodów z listy kodów ISO 639-1 alpha-2.

isbn

Text

Numer ISBN-13 wydania. Jeśli masz numer ISBN-10, przekonwertuj go na ISBN-13.

potentialAction

ReadAction lub BorrowAction

Działanie, które ma zostać wywołane, by użytkownicy mogli kupić lub pobrać książkę. Więcej informacji znajdziesz w opisie właściwości ReadAction lub BorrowAction.

Właściwości zalecane
author

Person lub Organization

Autor lub autorzy wydania.

bookEdition

Text

Informacje o wydaniu książki. Na przykład: 2nd Edition.

datePublished

Date

Data publikacji wydania w formacie YYYY-MM-DD lub YYYY. Może to być konkretna data lub tylko konkretny rok.

identifier

PropertyValue

Zewnętrzny lub inny identyfikator, który jednoznacznie określa wydanie. Dozwolonych jest kilka identyfikatorów. Więcej informacji znajdziesz w sekcji PropertyValue (identifier).

Ta właściwość może być powtarzana.

name

Text

Tytuł wydania. Używaj tej właściwości tylko wtedy, gdy tytuł wydania różni się od tytułu utworu.

sameAs

URL

Adres URL referencyjnej strony internetowej, który jednoznacznie identyfikuje wydanie. Na przykład strona w Wikipedii poświęcona temu konkretnemu wydaniu. Nie używaj ponownie właściwości sameAs elementu Work.

url

URL

Adres URL w Twojej witrynie, pod którym przedstawiono lub opisano dane wydanie. Może być taki sam jak workExample.target.urlTemplate.

Przykładowy element Book (Edition):

"workExample":
        {
          "@type": "Book",
          "@id": "https://example.com/book/100",
          "inLanguage": "en",
          "isbn": "9787543321724",
          "bookEdition": "20 Anniversary Edition",
          "datePublished": "2000-02-26",
          "bookFormat": "https://schema.org/Hardcover",
          "potentialAction": {...}
        }

Przykładowy element Book (Edition) z kilkoma właściwościami workExample:

"workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/book/200",
          "inLanguage": "zh",
          "isbn": "9787543321721",
          "bookEdition": "2nd Edition",
          "bookFormat": "https://schema.org/Hardcover",
          "potentialAction": {...}
        },
        {
          "@type": "Book",
          "@id": "https://example.com/book/300",
          "inLanguage": "zh",
          "isbn": "9787543321722",
          "bookEdition": "1st Edition",
          "bookFormat": "https://schema.org/EBook",
          "potentialAction": {...}
      }
 ]

Person lub Organization (author)

Właściwość author książki korzysta z elementu Person lub Organization.

Właściwości wymagane
@type

Text

Ustaw jako Person lub Organization

name

Text

Imię i nazwisko osoby lub nazwa organizacji.

Właściwości zalecane
sameAs

URL

URL referencyjnej strony internetowej, który jednoznacznie określa osobę lub organizację. Na przykład strona w Wikipedii poświęcona danej osobie lub organizacji.

Przykładowy element author:

"author": {
  "@type": "Person",
  "name": "William Shakespeare"
}

Przykładowy element author z kilkoma właściwościami:

"author": [
  {
    "@type": "Person",
    "name": "William Shakespeare"
  },
  {
    "@type": "Person",
    "name": "Victor Hugo",
    "sameAs": "https://en.wikipedia.org/wiki/Victor_Hugo"
  }
]

PropertyValue (identifier)

Właściwość identifier elementu Edition korzysta z elementu PropertyValue.

Właściwości wymagane
@type

Text

Ustaw jako: PropertyValue.

propertyID

Text

Typ identyfikatora. Zgodnie z opisem w sekcji ISBN i inne obsługiwane identyfikatory musi to być jeden z tych numerów:

  • OCLC_NUMBER
  • LCCN
  • JP_E-CODE
value

Text

Wartość identyfikatora. Zewnętrzny identyfikator jednoznacznie wskazujący dane wydanie. Usuń wszystkie nienumeryczne prefiksy zewnętrznego identyfikatora.

Przykładowy element identifier:

    "identifier": {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    }

Przykładowy element identifier z kilkoma właściwościami:

    "identifier": [
    {
      "@type": "PropertyValue",
      "propertyID": "OCLC_NUMBER",
      "value":  "110123456"
    },
    {
      "@type": "PropertyValue",
      "propertyID": "LCCN",
      "value":  "220123456"
    },{
      "@type": "PropertyValue",
      "propertyID": "JP_E-CODE",
      "value":  "12345678901234567890"
    }]

Przykładowy plik danych ReadAction Book w formacie JSON

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/store/9787543321724",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": {
              "@type": "Offer",
              "category": "purchase",
              "price": 6.99,
              "priceCurrency": "USD",
              "availabilityStarts": "2020-01-01T11:0:00-04:00",
              "availabilityEnds": "2050-06-30T23:59:00-04:00",
              "eligibleRegion": {
                "@type": "Country",
                "name": "US"
              }
            }
          }
        },
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "https://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "ReadAction",
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/store/9780316769532",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            },
            "expectsAcceptanceOf": [
              {
                "@type": "Offer",
                "category": "nologinrequired",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": [
                  {
                    "@type": "Country",
                    "name": "US"
                  },
                  {
                    "@type": "Country",
                    "name": "GB"
                  }
                ]
              },
              {
                "@type": "Offer",
                "category": "Subscription",
                "availabilityStarts": "2020-01-01T11:0:00-04:00",
                "availabilityEnds": "2050-06-30T23:59:00-04:00",
                "eligibleRegion": {
                  "@type": "Country",
                  "name": "IN"
                }
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

Przykładowy plik danych BorrowAction Book w formacie JSON

{
  "@context": "https://schema.org",
  "@type": "DataFeed",
  "dataFeedElement": [
    {
      "@context": "https://schema.org",
      "@type": "Book",
      "@id": "https://example.com/work/the_catcher_in_the_rye",
      "url": "https://example.com/work/the_catcher_in_the_rye",
      "name": "The Catcher in the Rye",
      "author": {
        "@type": "Person",
        "name": "J.D. Salinger"
      },
      "sameAs": "https://en.wikipedia.org/wiki/The_Catcher_in_the_Rye",
      "workExample": [
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "isbn": "9787543321724",
          "bookEdition": "Mass Market Paperback",
          "bookFormat": "https://schema.org/Paperback",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_paperback",
          "datePublished": "1991-05-01",
          "identifier": {
            "@type": "PropertyValue",
            "propertyID": "OCLC_NUMBER",
            "value": "1057320822"
          },
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "https://example.com/librarySystem/100"
            },
            "target": {
              "@type": "EntryPoint",
              "urlTemplate": "https://example.com/borrowpurchase?bookId=170",
              "actionPlatform": [
                "https://schema.org/DesktopWebPlatform",
                "https://schema.org/AndroidPlatform",
                "https://schema.org/IOSPlatform"
              ]
            }
          }
        },
        {
          "@type": "Book",
          "@id": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "isbn": "9780316769532",
          "bookEdition": "Hardcover",
          "bookFormat": "https://schema.org/Hardcover",
          "inLanguage": "en",
          "url": "https://example.com/edition/the_catcher_in_the_rye_hardcover",
          "datePublished": "1951-07-16",
          "potentialAction": {
            "@type": "BorrowAction",
            "lender": {
              "@type": "LibrarySystem",
              "@id": "https://example.com/librarySystem/100"
            },
            "target": [
              {
                "@type": "EntryPoint",
                "urlTemplate": "https://example.com/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "https://schema.org/DesktopWebPlatform"
                ]
              },
              {
                "@type": "EntryPoint",
                "urlTemplate": "https://example.com/mobile/borrowpurchase?bookId=170",
                "actionPlatform": [
                  "https://schema.org/AndroidPlatform",
                  "https://schema.org/IOSPlatform"
                ]
              }
            ]
          }
        }
      ]
    }
  ],
  "dateModified": "2018-09-10T13:58:26.892Z"
}

ReadAction (potentialAction)

Właściwość potentialAction korzysta z elementu ReadAction. ReadAction określa precyzyjne linki umożliwiające dostęp do książki, a także sprzedawcę książki oraz kryteria, jakie muszą spełniać użytkownicy. Te kryteria mogą obejmować stan członkostwa, stan logowania, lokalizację lub inne informacje wymagane do uzyskania dostępu do książki.

Właściwości wymagane
@type

Text

Ustaw jako: ReadAction.

expectsAcceptanceOf

Offer

Definicja wymagań, jakie musi spełnić użytkownik, by mieć dostęp do tego elementu. Jeśli istnieje kilka właściwości Offer, użytkownik spełniający którekolwiek kryterium Offer może spróbować uzyskać dostęp do treści.

Ta właściwość może być powtarzana.

expectsAcceptanceOf.@type

Text

Ustaw jako: Offer.

expectsAcceptanceOf.category

Text

Typ elementu Offer. Musi to być jedna z tych wartości:

  • nologinrequired: użytkownik może podjąć działanie i nie musi przy tym niczego kupować ani logować się, by uzyskać dostęp do treści.
  • free: użytkownik może podjąć działanie i nie musi przy tym niczego kupować ani mieć płatnej subskrypcji. Działanie wymaga jednak od użytkownika zalogowania się.
  • subscription: książka jest udostępniana w ramach płatnej subskrypcji Twojej usługi.
  • purchase: książka jest dostępna po zakupie.
  • rental: książka jest dostępna przez określony czas po zakupie.
expectsAcceptanceOf.eligibleRegion

Country

Kraj, w którym można stosować element Offer. Umożliwia to kontrolowanie, czy w danym kraju lub regionie dane treści mają być dostępne.

Ta właściwość może być powtarzana.

expectsAcceptanceOf.eligibleRegion.@type

Text

Ustaw jako: Country.

expectsAcceptanceOf.eligibleRegion.name

Text

Kod kraju w formacie ISO 3166-1 alpha-2.

target

EntryPoint

Specyfikacja precyzyjnego linku z informacjami o obsługiwanej platformie. Kilka właściwości EntryPoint może definiować różne precyzyjne linki dla różnych zestawów platform.

Ta właściwość może być powtarzana.

target.@type

Text

Ustaw jako: EntryPoint.

target.actionPlatform

Text

Platformy, w przypadku których dany precyzyjny link jest prawidłowy. Użyj jednej z tych wartości:

  • https://schema.org/DesktopWebPlatform
  • https://schema.org/AndroidPlatform
  • https://schema.org/IOSPlatform

Ta właściwość może być powtarzana.

target.urlTemplate

URL

Link prowadzący użytkowników bezpośrednio do treści strony docelowej książki.

Właściwości zalecane
expectsAcceptanceOf.availabilityEnds

DateTime

Godzina zakończenia okresu dostępności. Pozwala określić dokładny dzień i godzinę, kiedy dana książka przestanie być widoczna dla użytkowników.

expectsAcceptanceOf.availabilityStarts

DateTime

Godzina rozpoczęcia okresu dostępności. Pozwala określić dokładny dzień i godzinę, kiedy dana książka zacznie być widoczna dla użytkowników.

expectsAcceptanceOf.price

Number

Cena zakupu książki. Ta właściwość jest wymagana, gdy element category właściwości Offer ma wartość purchase lub rental.

expectsAcceptanceOf.priceCurrency

Text

Waluta, w której podano cenę, przedstawiona w trzyliterowym formacie ISO 4217.

Przykładowy element ReadAction:

"potentialAction": {
  "@type": "ReadAction",
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://example.com/purchase?bookId=170",
    "actionPlatform": [
      "https://schema.org/DesktopWebPlatform",
      "https://schema.org/AndroidPlatform",
      "https://schema.org/IOSPlatform"
    ]
  },
  "expectsAcceptanceOf": {
    "@type": "Offer",
    "category": "purchase",
    "price": "9.99",
    "priceCurrency": "USD",
    "availabilityStarts": "2018-04-01T11:01:00-04:00",
    "availabilityEnds": "2018-06-30T23:59:00-04:00",
    "eligibleRegion": {
      "@type": "Country",
      "name": "US"
    }
  }
}

Przykładowy element ReadAction z kilkoma właściwościami EntryPoint:

"potentialAction": {
  "@type": "ReadAction",
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/purchase?bookId=170",
      "actionPlatform": [
        "https://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/mobile/purchase?bookId=170",
      "actionPlatform": [
        "https://schema.org/AndroidPlatform",
        "https://schema.org/IOSPlatform"
      ]
    }
  ],
  "expectsAcceptanceOf": [
    {
      "@type": "Offer",
      "category": "noLoginRequired",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": [
        {
          "@type": "Country",
          "name": "US"
        },
        {
          "@type": "Country",
          "name": "GB"
        }
      ]
    },
    {
      "@type": "Offer",
      "category": "Subscription",
      "availabilityStarts": "2018-04-01T11:01:00-04:00",
      "availabilityEnds": "2018-06-30T23:59:00-04:00",
      "eligibleRegion": {
        "@type": "Country",
        "name": "IN"
      }
    }
  ]
}

BorrowAction (potentialAction)

Właściwość potentialAction korzysta z elementu BorrowAction. BorrowAction określa precyzyjne linki umożliwiające dostęp do książki, a także bibliotekę, w której znajduje się dana książka, oraz kryteria, jakie muszą spełniać użytkownicy. Te kryteria mogą obejmować stan członkostwa, stan logowania, lokalizację lub inne informacje wymagane do uzyskania dostępu do książki.

Właściwości wymagane
@type

Text

Ustaw jako: BorrowAction.

lender

LibrarySystem

System bibliotek, który umożliwia dostęp do danego wydania.

lender.@id

URL

Odwołania do identyfikatora elementu LibrarySystem, które muszą być w pełni i oddzielnie opisane w pliku danych biblioteki.

lender.@type

Text

Ustaw jako: LibrarySystem.

target

EntryPoint

Specyfikacja precyzyjnego linku z informacjami o obsługiwanej platformie. Aby zdefiniować precyzyjne linki dla różnych zestawów platform, określ tablicę EntryPoint.

Ta właściwość może być powtarzana.

target.@type

Text

Ustaw jako: EntryPoint.

target.actionPlatform

Text

Platformy, w przypadku których dany precyzyjny link jest prawidłowy. Użyj jednej z tych wartości:

  • https://schema.org/DesktopWebPlatform
  • https://schema.org/AndroidPlatform
  • https://schema.org/IOSPlatform

Ta właściwość może być powtarzana.

target.urlTemplate

URL

Link prowadzący użytkowników bezpośrednio do treści strony docelowej książki.

Przykładowy element BorrowAction:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "https://example.com/librarySystem/100"
  },
  "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://example.com/borrow?bookId=170",
    "actionPlatform": [
      "https://schema.org/DesktopWebPlatform",
      "https://schema.org/AndroidPlatform",
      "https://schema.org/IOSPlatform"
    ]
  }
}

Przykładowy element BorrowAction z kilkoma właściwościami EntryPoint:

"potentialAction": {
  "@type": "BorrowAction",
  "lender": {
    "@type": "LibrarySystem",
    "@id": "https://example.com/librarySystem/100"
  },
  "target": [
    {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/borrow?bookId=170",
      "actionPlatform": [
        "https://schema.org/DesktopWebPlatform"
      ]
    },
    {
      "@type": "EntryPoint",
`      "urlTemplate": "https://example.com/mobile/borrow?bookId=170",
      "actionPlatform": [
        "https://schema.org/AndroidPlatform",
        "https://schema.org/IOSPlatform"
      ]
    }
  ]
}

Element Library

Pełną definicję elementów Library znajdziesz na schema.org/Library. Najważniejsze są jednak tylko poniższe właściwości. W przypadku każdej biblioteki, którą chcesz uwzględnić w pliku danych, musisz określić wymagane właściwości. Możesz też zdefiniować właściwości zalecane, by wzbogacić informacje i zwiększyć w ten sposób wygodę użytkowników.

Ten element Library jest typem elementu Library najwyższego poziomu. Jest to abstrakcyjny konstrukt, który składa się z elementu LibrarySystem i każdego elementu Library (member) niższego poziomu w ramach LibrarySystem.

Plik danych Library różni się od pliku danych Book. Dlatego każdy zaimplementowany plik danych Library musi być całkowicie niezależny od pliku danych Book. Więcej informacji znajdziesz w sekcji Tworzenie pliku danych.

LibrarySystem

Element LibrarySystem odpowiada wspólnej sieci oddziałów biblioteki.

Właściwości wymagane
@context Text

Ustaw jako: https://schema.org.

@id URL

Niepowtarzalny globalnie identyfikator systemu bibliotek w formacie adresu URL. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem. Domena użyta w wartości @id musi należeć do Twojej organizacji.

@type Text

Ustaw jako: LibrarySystem.

additionalProperty PropertyValue

Dodatkowa właściwość, która określa typ biblioteki.

additionalProperty.@type Text

Ustaw jako: PropertyValue.

additionalProperty.name Text

Ustaw jako: librarytype.

additionalProperty.value Text

Typ biblioteki. Użyj jednej z tych wartości:

  • public
  • academic
  • corporate
  • government
  • school
  • special
member Library

Oddział lub oddziały danego systemu bibliotek.

name Text

Nazwa systemu bibliotek. Na przykład: The Southwestern League of Libraries.

url URL

Adres URL, pod którym przedstawiono lub opisano dany system bibliotek. Ten link pomaga wyszukiwarce Google dokładnie uzgodnić zawartość Twojego pliku danych z zawartością baz danych Google. W przypadku rzeczywistej strony docelowej wyszukiwarka Google użyje adresu URL podanego jako workExample.target.urlTemplate.

Library (member)

Właściwość member elementu LibrarySystem korzysta z elementu Library (member). Library (member) odpowiada pojedynczemu oddziałowi danego systemu bibliotek.

Właściwości wymagane
@id URL

Unikalny globalnie identyfikator oddziału biblioteki w formacie URL. Ten identyfikator musi być stały i nie może zmieniać się w czasie. Jest traktowany jako ciąg nieprzejrzysty, więc nie musi być działającym linkiem. Domena użyta w wartości @id musi należeć do Twojej organizacji.

@type Text

Ustaw jako: Library.

location PostalAddress

Adres oddziału biblioteki. Nie wszystkie właściwości stosuje się we wszystkich krajach. W adresach bibliotek musisz jednak uwzględnić maksymalną liczbę stosowanych właściwości.

Przykładowy element location w Stanach Zjednoczonych:

{
  "@type": "Library",
  "@id": "https://example.com/library-branches/1001",
  "name": "Campbell Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "77 Harrison Ave",
    "addressLocality": "Campbell",
    "addressRegion": "CA",
    "postalCode": "95008",
    "addressCountry": "US"
  }
}

Przykładowy element location w Japonii:

{
  "@type": "Library",
  "@id": "https://example.com/library-branches/1003",
  "name": "Tokyo Metropolitan Central Library",
  "location": {
    "@type": "PostalAddress",
    "streetAddress": "7-13-5 Minamiazabu, Minato City",
    "addressLocality": "Tokyo",
    "postalCode": "106-0047",
    "addressCountry": "JP"
  }
}
location.@type Text

Ustaw jako: PostalAddress.

location.addressCountry Text

Kod kraju w formacie ISO 3166-1. Na przykład: US.

location.addressLocality Text

Miejscowość. Na przykład: Mountain View.

location.addressRegion Text

Region. Na przykład: CA.

location.postalCode Text

Kod pocztowy. Na przykład: 94043.

location.streetAddress Text

Ulica i numer. Na przykład: 1600 Amphitheatre Pkwy.

name Text

Nazwa oddziału biblioteki.

Przykładowy plik danych LibrarySystem w formacie JSON

{
   "@context": "https://schema.org",
   "@type":"LibrarySystem",
   "@id":"https://example.com/library-systems/100",
   "name":"Santa Clara County Library District",
   "additionalProperty":[
      {
         "@type":"PropertyValue",
         "name":"librarytype",
         "value":"public"
      }
   ],
   "member":[
      {
         "@type":"Library",
         "@id":"https://example.com/library-branches/1001",
         "name":"Campbell Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"77 Harrison Ave",
            "addressLocality":"Campbell",
            "addressRegion":"CA",
            "postalCode":"95008",
            "addressCountry":"US"
         }
      },
      {
         "@type":"Library",
         "@id":"https://example.com/library-branches/1002",
         "name":"Gilroy Library",
         "location":{
            "@type":"PostalAddress",
            "streetAddress":"350 W 6th St",
            "addressLocality":"Gilroy",
            "addressRegion":"CA",
            "postalCode":"95020",
            "addressCountry":"US"
         }
      }
   ]
}