Representing variant structure

Using the has relationship to represent structure allows us to represent a lot about the world, but sometimes the structure of something can vary.

For example, the following isn't always true:

man has:1 wife

How can we represent that fact that a guy can be married or single?

Using weak relationships

The first option is to weaken all relationships so that they represent the way things might be. That way, the following...

man has:0 wife
man has:1 wife

... means:

Maybe a man doesn't have a wife
Maybe a man has a wife

Using scalar weighted relationships

A second option is to optionally assign a scalar value between 0 and 1 to a relationship to indicate roughly how often it is the case.

0.4: man has:0 wife
0.6: man has:1 wife

... means:

Approximately 40% of the time, a man doesn't have a wife
Approximately 60% of the time, a man has a wife

As usual, this represents a bit of a challenge to the directed graph representation, but this is a case where I feel it is appropriate and perhaps analagous to neural connections having weights.