@startuml
hide circle
hide methods
hide stereotype
show <<Enumeration>> stereotype
skinparam class {
   BackgroundColor<<Enumeration>> #E6F5F7
   BackgroundColor<<Ref>> #FFFFE0
   BackgroundColor<<Pivot>> #FFFFFFF
   BackgroundColor<<SimpleType>> #E2F0DA
   BackgroundColor #FCF2E3
}

class TopologyQueryJob <<Pivot>> {
    completionDate : DateTime
    creationDate : DateTime
    href : Uri
    id : String
    query : String
    status : TaskStateType
    @baseType : String
    @schemaLocation : Uri
    @type : String
}

class VertexRef  <<Ref>> {
    href : Uri
    id : String [1]
    name : String
    @baseType : String
    @referredType : String
    @schemaLocation : Uri
    @type : String
}

class GraphRef  <<Ref>> {
    href : Uri
    id : String [1]
    name : String
    @baseType : String
    @referredType : String
    @schemaLocation : Uri
    @type : String
}

class TaskStateType <<Enumeration>> {
    accepted
    terminatedWithError
    inProgress
    done
}

TopologyQueryJob -right[hidden]-> TaskStateType

TopologyQueryJob *-->  "0..*" VertexRef : vertexResult

TopologyQueryJob *-->  "0..1" GraphRef : graphSource

TopologyQueryJob *-->  "0..*" GraphRef : graphResult

@enduml