@startuml
!theme vibrant
skinparam classFontSize 14
!define LIGHTORANGE
skinparam componentStyle uml2
skinparam wrapMessageWidth 1000
skinparam wrapWidth 1000
' skinparam ArrowColor #Maroon
' Remove shadows
skinparam shadowing false
'skinparam linetype polyline
skinparam ArrowMessageAlignment left
top to bottom direction


class "<b>Bestand</b> (premis:File)" as premis_File [[#premis%3AFile]]
class "<b>Object</b> (premis:Object)" as premis_Object [[#premis%3AObject]]
class "<b>Bestandsformaat</b> (dct:FileFormat)" as dct_FileFormat [[#dct%3AFileFormat]]
class "<b>Digitale representatie</b> (haObj:DigitalRepresentation)" as haObj_DigitalRepresentation [[#haObj%3ADigitalRepresentation]]
class "<b>Representatie</b> (premis:Representation)" as premis_Representation [[#premis%3ARepresentation]]
class "<b>Drager representatie</b> (haObj:CarrierRepresentation)" as haObj_CarrierRepresentation [[#haObj%3ACarrierRepresentation]]
class "<b>Representatie</b> (premis:Representation)" as premis_Representation [[#premis%3ARepresentation]]
class "<b>Fixity</b> (premis:Fixity)" as premis_Fixity [[#premis%3AFixity]]
class "<b>Fragment representatie</b> (haObj:FragmentRepresentation)" as haObj_FragmentRepresentation [[#haObj%3AFragmentRepresentation]]
class "<b>Fysieke drager</b> (haObj:PhysicalCarrier)" as haObj_PhysicalCarrier [[#haObj%3APhysicalCarrier]]
class "<b>Opslagplaats</b> (premis:StorageLocation)" as premis_StorageLocation [[#premis%3AStorageLocation]]
class "<b>Intellectuele entiteit</b> (premis:IntellectualEntity)" as premis_IntellectualEntity [[#premis%3AIntellectualEntity]]
class "<b>Object</b> (premis:Object)" as premis_Object [[#premis%3AObject]]
class "<b>Lokale identificatie</b> (haObj:LocalIdentifier)" as haObj_LocalIdentifier [[#haObj%3ALocalIdentifier]]
class "<b>Concept</b> (skos:Concept)" as skos_Concept [[#skos%3AConcept]]
class "<b>Mediahavenrecord</b> (mh:Record)" as mh_Record [[#mh%3ARecord]]
class "<b>Object</b> (premis:Object)" as premis_Object [[#premis%3AObject]]
class "<b>Entiteit</b> (prov:Entity)" as prov_Entity [[#prov%3AEntity]]
class "<b>Opslagmedium</b> (premis:StorageMedium)" as premis_StorageMedium [[#premis%3AStorageMedium]]
class "<b>Opslagplaats</b> (premis:StorageLocation)" as premis_StorageLocation [[#premis%3AStorageLocation]]
class "<b>Representatie</b> (premis:Representation)" as premis_Representation [[#premis%3ARepresentation]]
class "<b>Object</b> (premis:Object)" as premis_Object [[#premis%3AObject]]

premis_File --|> premis_Object #blue;line.dotted;text:blue

premis_File : heeft (bestands)grootte : <i>xsd:nonNegativeInteger</i> [1..1]
premis_File : heeft originele naam : <i>xsd:string</i> [0..1]
premis_File : mime type : <i>xsd:string</i> [1..1]
premis_File --> dct_FileFormat :formaat [1..1]  > 
premis_File --> haObj_DigitalRepresentation :is opgenomen in [0..*]  > 
premis_File --> haObj_FragmentRepresentation :heeft media fragment [0..*]  > 
premis_File --> mh_Record :werd afgeleid van [1..1]  > 
premis_File --> premis_File :documenteert [0..*]  \lvervangt [0..*]  \lvolgende bestand in volgorde [0..1]  > 
premis_File --> premis_Fixity :fixity [1..1]  > 
premis_File --> premis_StorageLocation :opgeslagen op [1..*]  > 





haObj_DigitalRepresentation --|> premis_Representation #blue;line.dotted;text:blue

haObj_DigitalRepresentation --> haObj_CarrierRepresentation :heeft bron [0..*]  > 
haObj_DigitalRepresentation --> haObj_DigitalRepresentation :volgende digitale representatie in volgorde [0..1]  > 
haObj_DigitalRepresentation --> mh_Record :werd afgeleid van [1..1]  > 
haObj_DigitalRepresentation --> premis_File :bevat [1..*]  \lheeft root [1..*]  > 
haObj_DigitalRepresentation --> premis_IntellectualEntity :is master van [0..1]  \lis mezzanine van [0..1]  \lis toegangskopie van [0..1]  \lrepresenteert [1..1]  > 

haObj_CarrierRepresentation --|> premis_Representation #blue;line.dotted;text:blue

haObj_CarrierRepresentation --> haObj_PhysicalCarrier :opgeslagen op [1..1]  > 
haObj_CarrierRepresentation --> mh_Record :werd afgeleid van [1..1]  > 


premis_Fixity : checksum maker : <i>xsd:string</i> [0..*]
premis_Fixity : fixity checksum : <i>xsd:string</i> [1..*]



haObj_FragmentRepresentation : duur : <i>xsd:duration</i> [0..1]
haObj_FragmentRepresentation : eindtijd : <i>xsd:time</i> [1..1]
haObj_FragmentRepresentation : starttijd : <i>xsd:time</i> [1..1]
haObj_FragmentRepresentation --> mh_Record :werd afgeleid van [1..1]  > 
haObj_FragmentRepresentation --> premis_File :is media fragment van [1..1]  > 



haObj_PhysicalCarrier --|> premis_StorageLocation #blue;line.dotted;text:blue

haObj_PhysicalCarrier --> premis_StorageMedium :opslagmedium [1..1]  > 

premis_IntellectualEntity --|> premis_Object #blue;line.dotted;text:blue

premis_IntellectualEntity --> haObj_DigitalRepresentation :heeft master [0..*]  \lheeft mezzanine [0..*]  \lheeft toegangskopie [0..*]  > 
premis_IntellectualEntity --> haObj_LocalIdentifier :lokale identifier [0..*]  > 
premis_IntellectualEntity --> mh_Record :werd afgeleid van [1..1]  > 
premis_IntellectualEntity --> premis_IntellectualEntity :heeft deel [0..*]  \lis deel van [0..*]  \lvolgende intellectuele entiteit in volgorde [0..1]  > 
premis_IntellectualEntity --> premis_Representation :wordt gerepresenteerd door [1..*]  > 

haObj_LocalIdentifier --|> skos_Concept #blue;line.dotted;text:blue

haObj_LocalIdentifier : waarde : <i>xsd:string</i> [1..1]



mh_Record : heeft fragment-ID : <i>xsd:string</i> [1..1]
mh_Record : heeft record-ID : <i>xsd:string</i> [1..1]


premis_Object --|> prov_Entity #blue;line.dotted;text:blue

premis_Object --> premis_Object :relatie [0..*]  > 




premis_StorageLocation : opslagpad : <i>xsd:string</i> [1..*]
premis_StorageLocation --> premis_StorageMedium :opslagmedium [0..*]  > 


premis_Representation --|> premis_Object #blue;line.dotted;text:blue



hide circle
hide methods
hide empty members
@enduml


