**Defined in theory: Frame-ontology****Source code: frame-ontology.lisp**

**Documentation:**HAS-VALUE is a way to state that an instance has a value on some slot. Its third argument is a single value; one may use HAS-VALUE repeatedly for each value of a multiple-valued relation.

For example, (HAS-VALUE i R v_1), (HAS-VALUE i R v_2) means that slot R applied to domain instance i maps to values v_1 and v_2. In other words, R(i,v_1) and R(i,v_2) hold.

There is no closed-world assumption implied; there may be other values for the specified slot on a given domain instance.

**Arity:**3

(Nth-Domain Has-Value 2 Binary-Relation) (<=> (Has-Value ?Instance ?Binary-Relation ?Value) (And (Binary-Relation ?Binary-Relation) (Holds ?Binary-Relation ?Instance ?Value)))

**See-Also:**all-values- This is for completeness. In definitions, one could
say (slot ?instance value) instead of
(has-value ?instance slot value).

**Version-4:**In version 3, this was called VALUES and took a set of values as a third argument. That didn't make a lot of sense, since there could be many different sets (all subsets of the actual set of values), all of which are the value of this relation on the same instance and class. The new form also makes it clearer that there is no closed-world assumption.