Skip to content
Janoš Vidali edited this page Dec 27, 2015 · 4 revisions

Classes in GraphZOO are used to represent objects containing objects, families, parameters and metadata. Each class may have one or more subclasses. The organization of classes at different levels (PostgreSQL/SQLite database, Sage, ...) should closely follow the model presented here.

The model will be implemented in Scala.

Guidelines

Each class should have only those properties and methods that are applicable to all (or at least a vast majority) of its members. Properties and methods that are only applicable to a subset of the members should belong to a subclass, an exception being subsets characterized by a single property. All properties should be optional (i.e., a missing value meaning that the value has not been computed). An object may belong to several classes as long as they share a common ancestor.

For instance, a member of the ZooGraph class may have a (boolean) property is_cayley, but only those graphs for which this property is true may have properties which only make sense for Cayley graphs, such as the underlying group (identified by the second part of the GAP id, as the first part is the order of the graph) and (perhaps optionally) the generating set. The Petersen graph will then be member of both CVTGraph and DistanceRegularGraph classes (since they descend from ZooGraph, of which it is also a member), but will not be a CayleyGraph.

Classes

Classes are given in bulleted lists below, with indented bullets representing subclasses. All of them are subclasses of the main class ZooEntity.

Data

Data classes are subclasses of the class ZooObject.

Objects

Any member of a class in this category uniquely represents a discrete object.

Parameter sets

The members of this category are parameter sets, which may not uniquely define an object, or may correspond to no object at all.

  • GraphParameters - a common superclass for parameter sets of graphs with a variable number of parameters
  • GraphFamilyParameters - a common superclass for parameter sets of graph families with a variable number of parameters

Properties

Property classes are subclasses of the class ZooProperty.

Sets

Members of classes in this category represent properties that may take multiple values. Set classes are subclasses of the class ZooSet.

  • Alias - alternate names for objects
  • FamilyMember - a mapping between objects and families

Mappings

Members of classes in this category represent properties determined by a variable number of parameters.

  • Eigenvalue - an eigenvalue of a graph together with its multiplicity
  • IntersectionNumber - the number of vertices at distances i, j from two vertices at distance h, if defined
  • KreinParameter - Krein parameters of distance-regular graphs
  • Cosine - the cosine sequence corresponding to an eigenvalue of a distance-regular graph
  • QPolynomialOrdering - a Q-polynomial ordering of eigenvalues

Metadata

  • Change - changes made to the database
  • Citation - citations for objects and their properties
  • Publication - articles, books etc. appearing in citations
Clone this wiki locally