Entities & relationships
Book
Main entity, a Book have many fields with a lot of relationships, here an example with Vingt ans après
from Alexandre Dumas
in Les Trois Mousquetaires
. Some of fields are from OPF file (which is into EPUB file), if you want to change these values you will have to update EPUB file.
The badge extracted indicate information have exist into scanned file. The badge OPF show the information is from OPF.
The badge OPF Calibre show the information is from OPF updated with Calibre.
title
:string
title of book, example:Vingt ans après
extracted requiredslug
:string
slug of book'stitle
withlanguage
code, example:vingt-ans-apres-fr
generatedlanguage
code associated with book is useful to avoid override books, API routes offershow
routes with this syntax:/books/{author_slug}/{book_slug}
. If the author write a book with a specific title, this book can have a translation with same title: Dune of Frank Herbert, the volume 1 have title Dune in english (dune-en
) and in french (dune-fr
).slug_sort
:string
formated[^1] slug title of the book with formated[^1] slug title of series (if book have a series) with volume, example:trois-mousquetaires-02_vingt-ans-apres-fr
generatedto sort with natural order a list of books, it's possible to list by title but all books of same series can begin with a specific title, to avoid a heavy process of
groupBy
, Bookshelves offer a generated sorting title to keep all books of same series together based on series' title.contributor
:string
EPUB contributions. extracteddescription
:text
abstract of book, can be a long text with HTML. extractedreleased_on
:datetime
release date when Book have been published. extractedrights
:string
EPUB copyrights. extractedvolume
:integer
volume number into a series. extractedpage_count
:integer
APImaturity_rating
:string
APIdisabled
:boolean
to hide a Book from APItype
:enum
can becomic
,essay
,handbook
ornovel
isbn10
:string
extracted APIisbn13
:string
extracted APIidentifiers
:json
extracted- medias:
cover
Relations
authors
extractedlanguage
extractedserie
extractedpublisher
extractedtags
extracted
[^1] : formated: when slug will be generated all determiner words will be removed, to sort by relevant words. Example: La fureur du fleuve
from Les Cités des Anciens
, vol. 3
, series from Robin Hobb
will become cites-des-anciens-03_fureur-du-fleuve