Re: Decentralized RDF Distribution

David Allsopp wrote:

> Seth Russell wrote:
> >
> > David Allsopp wrote:
> >
> > > Does it not make sense where the object is a literal? Why wouldn't we
> > > change
> > > Town--population-->10297  to  Town--population-->10298  after the latest
> > > birth?  8-)
> > > Isn't this equivalent to remove/add in all cases, provided that updating
> > > the object is an atomic operation?
> >
> > I'm not so sure that's the best way to deal with a resource that represents a
> > time varying quantity.  Why not just assign a URL to the varying quantify ...
> > say http:/population.server.com#TownX  .. if you dereference that URL you would
> > expect to obtain the current quantity ... so now lapsing into N3 you can see
> > that the triple { :TownX population <http:/population.server.com#TownX> .} is
> > always valid.  One needs to retract it only if the server changes.
>
> I guess that makes sense on the web - I'm coming at this from a slightly
> different perspective; using software agents which aren't necessarily
> out on the web; they may be in closed networks.  There may not be one
> authoritative source for the data - different agents say different
> things, and you just have to decide which one you trust most at that
> point in time (or take an average or something). The agents may have
> very restricted forms of (message passing) communication and can't
> necessarily dereference an HTTP URL.

Actually I'm coming at this from that same angle.  But I still don't think it's
practical to deal with the knowledge of a time fluctuating measurement by each agents
continually retracting then reasserting their opinion.  Other kinds of knowledge,
yes; this kind of knowledge, no.   You don't need a http web to implement a
blackboard for cooperating agents; but don't you at least need some kind of
blackboard?  Now if the kind of knowledge was of the nature  {(the cat) (is on the)
mat.}, then I would tend to agree.  Also note that one agent saying { TownX
population [http://population.server.com#TownX] .}  does not imply that
population.server.com is the "one authoritative source for the data"; because another
agent can just as well say {TownX population
[http://myserver.org?town.population=TownX]}.

> > > I'm very interested in this sort of usage.  I'm working on software
> > > agents which exchange information in situations where data change over
> > > time, and are subject to varying levels of trust over time, so I will
> > > need to be able to 'tag' the triples with their source, timestamp,
> > > expiry...  This would allow filtering, or roll-back to earlier data,
> > > etc.
> >
> > Great!  What kind of time stamp uri's are you considering?
>
> I haven't given that much thought yet as I have other priorities -
> there's the stuff on date and time formats at
> http://www.w3.org/TR/NOTE-datetime, which seems an obvious choice...

That's ok if all you want is an absolute time stamp, but perhaps you also want to
record who measured the time;  after all there is no such thing as absolute time.  I
was thinking more like [stid:robustai.net.seth/2001.02.20.a#1] with the fragment #1
being the statement number within that utterance.   Then every agent would record the
fact that they were authoring (or repeating) statements at a particular local time,
and their stid(s) would never collide .. note the way i did this in my FYI semTran at
the end of this message.

> > > I think this sort of usage needs to be considered in the design of APIs
> > > and query languages - we'll need easy manipulation and querying of
> > > reified statements, e.g:
> >
> > I don't think we need talk of reified statements at all .. just talk of
> > statements and their contexts.  When you talk about a statement, you refer to
> > its URI directly.  Collecting a statement in a context, is talking about it.
>
> I'm afraid I missed most of the discussion about contexts, so I'm in the
> dark here - can you point me to something which will explain?

I believe that (Contexts for RDF Information Modeling) by Graham Klyne is the state
of the art.

seeUrl http://public.research.mimesweeper.com/RDF/RDFContexts.html

> How would I 'collect a statement in a context'?

When you encounter a statement, you record the context in which you found it.

> Is this something implemented now,
> or does it require extensions to current APIs?

Well I'm not the one to ask this question of; cause i'm kind of a retard:  even
though I've been working on it since '75; I always find myself being Johnny come
lately to the party.   I suspect that Doug Lenat has implemented it somewhere behind
his firewall .. though nobody knows whether he believes in RDF or not, cause he won't
talk publicly to anybody.  Also I suspect the the US defense department ended up
implementing it in their HPKB cause it would be a shame to think they ended up
without it, after all the talk,  and all the money they spent.   But if you ask me,
i'd say "no";  there's nothing I personally know of that I can play with on my
computer at the moment :((

<semTran
       language="SemEnglish"
       fromDictionary="http://webns.net/roughterms/#"
       context="ThisEmailTrain"
       intent="toRecieveAnswer"
       assertedAt="stid:robustai.net.seth/2001.02.20.a#">
Seth
     preferedEmail "seth@robustai.net";
     properName "Seth Russell";
     affiliatedWith SWAG.
Seth asks Who#x ?
Who#x
     (wants to program) Sembrowser;
     (works well with) Seth;
     fluentIn RDF, N3, VB, "C++", SQL;
     (can easily learn) BerkeleyDB;
     salaryRequirements 0.
Sembrowser
     description "Semantic Web Browser";
     (will be like) [Mosaic (was to) Www].
SemEnglish
     see [http://robustai.net/mentography/semenglish.html].
SWAG
    a (Group of People);
    acronymOf "Semantic Web Agreement Group";
    uri [http://purl.org/swag/].
semTran a (transaction to (The Semantic Cloud)).
</semTran>

Received on Tuesday, 20 February 2001 07:03:30 UTC