Model Concepts and Vocabulary

Models define the business meaning of the source data. They describe the concepts, attributes, and relationships in and across data sets. Instead of reflecting the format or schema of the source data, models define the desired structure of the data as a graph when it is loaded to AnzoGraph. A model binds the source data to a knowledge graph.

Anzo links data to models to provide flexibility for capturing data from various sources and to enable users to search for and visualize data in Hi-Res Analytics dashboards or other applications. A model is automatically generated when structured or unstructured data is loaded. Users can also create models from scratch or import existing models (OWL ontologies). Models can be shared and reused.

The following image shows a model for a small dataset that captures sales activity for a website where people buy and sell tickets for sporting events, shows, and concerts.

The table below defines key terms to know when working with models.

Term Description
Class Models are made up of classes. Classes represent the types of entities or nodes in a graph. They are concepts or groupings of related objects. In the image above, each circle is a class in the model (Events, Dates, Categories, Sales, and Listings). When source data is converted to the graph model and triples are generated, the subjects in the triples are instances of the classes in the model.
Property Properties are attributes that describe the data in a class. Properties are the predicates in the graph's triples and represent the relationships between classes and values (subjects and objects). There are two types of properties:
  • Data property: Relates a class to a simple or literal value. For example, in the Events class, the EventName and StartTime properties relate to simple values. The event name is a string, such as "Wicked", and the start time is a datetime value, such as "2023-09-10 15:00:00".
  • Object property: Relates a class to another class. For example, a ListingID property in the Listings class forms a relationship between the Listings class and the Events class, i.e., ListingID is a foreign key in the Events class and links to the primary key ListingID in the Listings class.
Instance Instances are individual occurrences of a class or property defined in the model. They are the specific nodes or vertexes in the resulting knowledge graph. For example, the name "Phantom of the Opera" is an instance of the EventName property. And a value such as <http://cambridgesemantics.com/Event/1234> is an instance of the Events class.
Base Class A base class is a more general version of a class. For example, a film model might have a Person base class with subclasses that categorize the roles of the people in the films, such as Actor, Director, Editor, etc.
Subclass A subclass is a more specific version of another class. Subclasses share the properties from the base class and can introduce additional properties that are not included in the base class. In the film model example for Base Class above, Actor, Director, and Editor are subclasses of the Person class.
Property Type A property type is the data type of the values for a data property. For example, the EventName property in the Events class has a property type of string. Property type is also known as the Property Range.
Simple Value A simple value is also known as a literal value. The list below describes literal values:
  • Numbers (for example, 15, -9, 10.35)
  • Text strings (for example, "Jane Doe" or "a long description")
  • Dates and times (for example, "13-Dec-2021", "April, 2022", or "2024-02-08T12:34:56")
  • Boolean values (true or false)

For conceptual information about Anzo-generated models, called managed models, see Managed Model Concepts.