Skip to content

Model abstractions

Abstractions are used to describe common parts of the model. No individual instance of metadata (an asset) is intended to be created at these abstract levels. Instead, they define the higher-level differentiation between broad categories of assets.

classDiagram
    direction RL
    class Referenceable {
        <<abstract>>
    }
    link Referenceable "../referenceable"
    class Asset {
        <<abstract>>
    }
    link Asset "../asset"
    Referenceable <|-- Asset : extends
    class Catalog {
        <<abstract>>
    }
    link Catalog "../catalog"
    Asset <|-- Catalog : extends
    class BI {
        <<abstract>>
    }
    link BI "../bi"
    Catalog <|-- BI : extends
    class Cloud {
        <<abstract>>
    }
    link Cloud "../cloud"
    Asset <|-- Cloud : extends
    class Insight {
        <<abstract>>
    }
    link Insight "../insight"
    Catalog <|-- Insight : extends
    class ObjectStore {
        <<abstract>>
    }
    link ObjectStore "../objectstore"
    Catalog <|-- ObjectStore : extends
    class EventStore {
        <<abstract>>
    }
    link EventStore "../eventstore"
    Catalog <|-- EventStore : extends
    class DataQuality {
        <<abstract>>
    }
    link DataQuality "../dataquality"
    Catalog <|-- DataQuality : extends
    class Metric {
        <<abstract>>
    }
    link Metric "../metric"
    DataQuality <|-- Metric : extends