The BookShop Ontology
Contents
Introduction
Considering the kind of metadata offered by Amazon and Half.com responses and the main classes of BIBFRAME and FRBR, focused on the entity of Book, we designed the core ontology BookShop shown partially in the following figure. BookShop contains five main classes Book, Author, Offer, User and Modality.
Classes and Properties
In our ontology, the class User is meant to express user profiles. We capture the preferences of each user in this class, such as preferable condition, preferable minimum availability, preferable minimum publication year and preferable maximum price (preference criteria). All this data about users are represented as datatype properties. Additional preferences can be easily added by simply introducing additional datatype( or object) properties, exactly like the ones mentioned above. Possible preferences that can be added depend on the relations of the Book class and include characteristics such as Book format, Language and Category.
The class Book represents all book items that are gathered from Amazon and Half.com sales markets. This class is enriched with relations such as title, publisher, dimensions, ISBN, publication year, number of pages, format, rating, images in various sizes and a URL – corresponding to the Amazon online bookstore – so as to describe the instances of this class. All these relations are captured in the ontology as datatype properties.
For our purposes, keeping record of each author’s name and surname suffices. Therefore, we decided to define the class Author as a subclass of the class Person, which is included in the FOAF (Friend of a friend) ontology. FOAF provides a unified way to describe persons, expressing their interests, their activities and their relations to other people and objects. The FOAF properties foaf:surname and foaf:firstName have been used to model author last and first name.
Items for sale on Amazon and Half.com can be sold by more than one seller for different prices and in different conditions (‘New’ or ‘Used’). Thus, any item – any book in this case – is associated with an offer. An offer is a combination of price, condition and vendor/seller. The concept of an offer is represented by the class Offer. Datatype properties such as BookCondition, !hasMaximumAvailabilty, OfferPrice and WebSiteOrigin express the condition, the availability, the price of the offered book and the seller URL in these bookstores, respectively.
Matching proccess
A reasoner is responsible for entailing which books match what criteria in the current user profile and classifies them accordingly (BooksByAvailability, BooksBycondition, BooksByPrice, BooksByYear). User preferences are fetched from the database and are used to construct the ontological user profile on the fly, which amounts to a set of OWL 2 restrictions (No.2 in the following table). The type of a matched criterion is represented by the members of the Modality class. Given the cardinality restrictions on the hasModality property, the books are finally classified depending on the number of satisfied preference criteria (Books...Books4). For example, the Books1 class contains all the books that match at least one of the preference criteria.
Relationship to bibliographic standards
Even though the BookShop ontology is more abstract and not as detailed as the aforementioned bibliographic models, it is clear that direct mappings with most of the entities are possible. In brief, the class Book of our BookShop οntology for example is a conflation of the main core classes of BIBFRAME 2.0, Work, Instance and Item as well as the Group 1 entities of FRBR. Next, the Person class of the FRBR model and the Agents class of BIBFRAME 2.0 could be related to the Author class, specified by the BookShop ontology.
Available Files
BookShop.owl in RDF/XML format
tellPreferences.xml, an XML file with user sample preferences for book matching.