A hypothesis element can have 4 attributes. id is a unique id within the document, but is not a uuid for now. If we use this it'll be for convenience to store an object id from a particular application, but this will have no meaning to other applications. The uri is a pointer to the hypothesis, if it network accessible.The label attribute is just a pretty string given to the hypothesis, e.g. by a user. The class attribute will be used to record the class that this hypothesis is an instance of (if there is a hypothesis class hierarchy). For now the class attribute is just a string.
A hypothesis must contain 1 (and only 1) pattern element, and can also contain 0 or more belief elements.
The method element is a string description of the method used to calculate the belief.
The result element is a string description of the actual belief value, using the associated belief calculation method.
The belief element is designed to hold information about belief in an object. A belief element can contain 1 and only 1 method/result pair.
The exhibit element describes a piece of evidence used to support the hypothesis. It is most likely used as a child element of the value element of a node.
The assertion element describes a fact where the negation element says whether it is a (not (relation arg1 arg2 ...argn)) style assertion. The second child element is the name of the relation and the rest of the child elements are the relation arguments in order.
Whether the assertion is negated.
The name of the relation.
The relation argument.
The source element describes the source of a piece of evidence.
HypothesisBag is the root of the schema and can conatin 0 or more hypothesis -- i.e. it's a bag for holding all hypothesis.
list of integers separated by whitespace.
list of delimited strings, separated by whitespace.
Properties of a match