[RDF] That trust thing
Jonas Liljegren
jonas@rit.se
16 Nov 2000 19:42:26 +0100
The plan for 1.0 is to have a tool for adding new data and new fields
of data, using a few supplied basic elements. But more on that later.
One thing i plan to use wraf for is to filter information. It can be
filtering of intresting posts in a messageboard (like slashdot) or
filtering of searchresults.
One main example of filtering is that everybody can add any
information, but that the viewer will filter out untrusted information
and reviewer can sign/accept information from untrusted sources.
The endorsement can be made about diffrent type of statement groups:
1) individual statements
2) all statements in a model
3) all statements in a namespace
4) all statements in a interface
Or in general: either individual statements or all statements in a
selection/container.
Many statements will be infered from other statements. These are the
dynamic properties. We have:
a) Statement S1 in model M1
b) Inference rule R1 in model M2
c) Statement S2 infered from S1 and R1, placed in model M3
d) M2 is owned by agent A1
e) A1 is endoresed with statement S3 in the model M4
f) M4 is owned by agent A2
g) Visitor user A3 has declared it's trust in A2
The visitor ask's for a list of items that include S2, but only want's
to see the trusted items. (He caould alternatively want to se the
untrusted items marked as untrusted.) So what can we say about M3?
We trust R1 since we trust M2 since we trust A1 since we trust M4
since we trust A2. But R1 only says that S2 is true *if* S1 is true.
We have endoresements and we have ... conditional endoresments. S2 is
trusted if R1 *and* S1 is trusted.
So how can we aproximate this effectively within Wraf?
We have simplified the handling by the introduction of models. They
let's us reason about statements in groups rather than considering
every individual statement.
The goal is to find the items of the list with as few steps as
possible. We can possible use the same infrastructure here as the one
planned for all dynamic properties and containers; cache them. The
problem here is that we doen't know the path to go for finding the answer.
(Monospace diagram)
..
/
/ ..
A3 /
\ /
\ A2 -- ..
\
\ A1
R1 -- M2 -- A1
A common model would be to have a large number of agents parallel with
A3 using a few parallel A2, that in turn points to a large number of
agents parallel A1. Trust statements can be about statements/rules
(R1) models (M2) or agents (A1). We have to check all of these.
Trust statements could also be about other things. M2 and A1 could be
viewed as two specific types of selections of trusted statements. The
trust statment of a container can be distributed to all its members.
It could be a lot of distribution. But I'm planning to use
distributed properties in a lot of situations, so it could be used for
this as well.
The ideal path would be to have the A2 (ie S3 in M4) trust statement
distributed to R1. We could then iterate through all of A3 trust
statements and look for them in R1.
But that feels like too much. We don't want to iterate through too
many nodes. On the other hand; we don't want to store to many trust
statements in every little statement.
Could we find a reasonable aproximation? Maby give out specific
roles to the staters in the path?
--
/ Jonas Liljegren
The Wraf project http://www.uxn.nu/wraf/
Sponsored by http://www.rit.se/