Pleiades Data Model
Pleiades uses an object-relational database called Zope to store its content. We make use of seven classes for organizing Pleiades content in the database:
- Place resources: provide a descriptive and conceptual context for geographic, toponymic, bibliographic, and temporal information. This is the primary entity in the Pleiades database model. Pleiades place resources represent conceptual places.
- Name resources: record the details of modern and historical geographic names, including the languages and scripts in which they are attested.
- Location resources: record information about measureable spots and areas on the earth's surface.
- Connection resources: record information about pairwise relationships between Pleiades place resources.
- Reference Citations: actionable citations of primary or secondary literature and data (both in print and online) that underpin or expand upon the information contained in Pleiades.
- Temporal Attestations: Assertions that a name or location was in active use during a particular period in history, together with assessments of confidence concerning those assertions.
- Positional Accuracy Assessments: Documents that describe the methods, precision, and accuracy of spatial data used in location resources.
The following section needs updating to reflect the addition of Connection resources (see Issue 302).
The following diagram, which makes use of the conventions of the Unified Modeling Language, illustrates the structural relationships between the classes of the Pleiades data model:
Any Pleiades Place Resource can contain zero-to-many Location Resources and zero-to-many Name Resources. This structure gives us the flexibility to model places that have no known ancient or modern name (e.g., a bridge, a fortification, or even an entire settlement known only from archaeology), as well as places that are mentioned by name in a historical source but whose precise location cannot be determined today.
Place, Name, and Location Resources can each contain Reference Citations that point to external data, descriptive information, and the like. Name Resources always include at least one citation that demonstrates the use of that name in a contemporary textual context.
Name and Location Resources also include at least one Temporal Attestation, which fixes in time the other information provided by that resource. This approach also permits flexibility in modeling. For example, the city of Pompeii was destroyed by the eruption of Mt. Vesuvius in 79 CE, but because of the historical significance of the event and the long, active life of associated literature, the name "Pompeii" continued in use for centuries.
Each Location Resource is associated with a Positional Accuracy Assessment, thereby providing crucial geospatial metadata.
Any Pleiades Place Resource can be associated with other Place Resources through simple relationships we call "Connections". We use Connections to create hierarchies (settlements making up a region), networks (connecting roads to settlements or settlements to rivers), and other topological relationships (junction, overlap). It is a very coarse-grained relationship, but it does not extend to cover more general notions of proximity (e.g., "nearness", "between").
We use Plone's "Add-On Product" (plugin) architecture to implement the Pleiades data model on our site. Our PleiadesEntity product implements the Pleiades data model in Plone. Because it makes use of the Plone Archetypes framework, software classes in PleiadesEntity inherit from multiple levels of ancestor classes across different packages, making it challenging for even seasoned Python programmers to gain an understanding of all the attributes and methods owned by each of our six classes. To facilitate understanding of the code, therefore, we make available an Excel spreadsheet of Pleiades attributes, which functions like a traditional data dictionary, listing the major data items found in each class and describing them by type and constraints.