module waste action is import [ dc skos xsd ] import [ waste_view ] entity Resident is identity citizenId -> unknown viewsWasteAs -> {unique 0..6} waste_view:Grossness end entity Household is identity apartmentId -> unknown furnishedWith -> {10} Bin inhabitedBy -> {1..4} Resident end entity Host is identity HostingId -> unknown providesContainer -> Container end entity WasteCollector entity Bin is identity binId -> unknown forTrashTypeType -> TrashType binCapacity -> BinCapacity binSpareCapacity -> BinSpareCapacity end enum TrashType of @owl:equivalentClass = unsigned Food is @rdf:value = 1 @skos:prefLabel = "Food waste"@en, "Mad"@da end Paper is @rdf:value = 2 @skos:prefLabel = "Paper"@en, "Papir"@da end Cardboard is @rdf:value = 3 end Metal is @rdf:value = 4 end Glass is @rdf:value = 5 end Plastic is @rdf:value = 6 end Textiles is @rdf:value = 7 end Cartons is @rdf:value = 8 end Residual is @rdf:value = 9 end Hazardous is @rdf:value = 10 end end event BinEmptied source Bin is binEmptied -> Bin binEmptiedBy -> Resident binEmptiedTo -> Container binResets -> BinSpareCapacity end event BinFilled source Bin is by -> Resident end event ContainerEmptied source Container is containerEmptied -> Container containerEmptiedBy -> WasteCollector containerEmptiedTo -> RecyclingPlant containerResets -> ContainerSpareCapacity end structure Container structure Incinerator end