How to ensure only 1 value of datatype property

Hi all,

I have one question on modelling a usecase on open source latest virtuoso :

:mcode rdf:type owl:Class .

:haslength rdf:type owl:DatatypeProperty .
:haslength rdf:domain :mcode .
:haslength rdf:range xsd:decimal .

With above ontology how to ensure haslength always have 1 value and it keep getting overwrite.

mcode:m1 :haslength 100 .

At this point length is 100. mcode:m1 :haslength ?o will give 100.

If in future new triple come

mcode:m1 :haslength 200 .

then that overwrite it and mcode:m1 :haslength ?o will give 200.

Same behaviour for all instances mcode:m2, mcode:m3…

Handling this in application layer will need delete/create always which wanted to avoid.

Thanks in advance,