Wraf: Trust

The versioning system and the trust system are two aspects of the same thing. To trust or not to trust is just one view.

Usually, we only want trusted data. Other times, we want to see all data and decide for ourself. We could then just get all data and order on trust. We can also specify a orderd list of prefered sources. (As with the desired language.)

The details of inherited trust will be detailed later, building on a system of inferencing.

For now, we just look at the agent behind a model containing a stating. We could check it against the list of trusted agents by saying $node->arc( model => { agent => [ $agent1, $agent2, $agent3 ] } ).

But the default preference will be to only get true statements, and that will imply that they are trusted and current. The handling of trust must be efficient even with a large amount of trusted sources. Let's say we have a third party service saying what models, agents or namespaces we can trust. This would be done by a interface defining the trust() method/property and could be used by saying $node->arc( trusted => 1 ). That will call the trusted() method once for every arc of the node. It's up to the interface implementing the method to do what it have to do to be fast.

To trust a statement, all implicit staters has to be trusted.

Not implemented