update semantic data correctly