Re: [unrev-II] OFFTOPIC? frames, scopes, and functions

From: Peter Jones (ppj@concept67.fsnet.co.uk)
Date: Wed Jun 27 2001 - 14:44:40 PDT

  • Next message: Rod Welch: "[unrev-II] Telelearning a Culture of Knowledge"

    Hi!

    > * You have a system that aims at unifying and extending
    > both RDF and Topic Maps, while solving some problems
    > in both.
    That was the attempt...sort of. Latest try is the GSIX spec at
    http://www.concept67.fsnet.co.uk/gsix/

    However, after publishing GSIX a day or so ago I had a good hunt around for
    other stuff.
    For example:
    The first few pages of documentation on Relfun Markup Language (RFML)
    matched GSIX constructs pretty well, but then became very Relfun specific.
    That documentation pre-dates me by some margin though I must admit, although
    I was unaware of it until last night. However, it was pleasing to see that
    the basis for GSIX constructs matched Relfun constructs for facts well.
    In RFML, rules are built into the same construct set, whereas in GSIX I've
    opted to keep them out (this matches Description Logics modularity, maybe,
    but see below on the matter of guesswork)

    Then there are Description Logics. DLs are a heavy part of DAMLs background
    as I'm sure most folks on this list are aware. Not being an academic at the
    moment, I've found information on what these actually are hard to come by on
    the Net (so I've made do with rough guesses). However, only today I found
    DLML. What little information I have so far been able to read points to some
    similarities between the fundamental constructs used in the syntax of DL
    implementations and GSIX (good, old-fashioned triples).
    Obviously, that's rather cheering too.

    I have to confess that it's been a while since I looked at RDF so they might
    have defined contexts in a manner superior to that I've described in the
    GSIX spec by now.
    I'm not going to enumerate the differences between RDF & Topic Maps, and
    GSIX, except the one that I think really counts: Richer contexts. By which I
    mean that the amount of information available in GSIX when comparing the
    contexts of statements is richer.
    Other than that I think RDF and GSIX are probably equally expressive, but
    GSIX might allow for faster querying of the information set (assuming anyone
     ever actually makes it work in some implementation).
    Wrt, to Topic Maps, aside from the richer contexts, I have a worry
    (unresolved at present) that transformations from Topic Maps to RDF and back
    to Topic Maps are not strictly reversible. That on the return trip one has
    to build the graph on top of the TM constructs instead of in them (if you
    get my drift).

    However, I'm not really worried about RDF and Topic Maps any more. What I
    would really like to know is whether DLs map into GSIX well or not. If they
    don't, ... Well, maybe that's something for the DL folks to start a whole
    new line of research on ;-)

    I'm not just gunning to create a handy catch-all interchange format really;
    I wanted to push the whole notion of a global knowledge-base one stage
    further than RDF currently takes things. I'm stepping into DAML/OIL
    territory, I suspect, but I want global ontological engineering to take a
    more organic approach (he says, praying hard that he hasn't just designed
    something that will bring about the end of civilisation).

    >Is that about it?

    Um, no. ... I now think I've covered the representational issues for facts
    pretty well (even if I say so myself). But what I really want to know is
    whether, because I have built in such strong contextualisation, there are
    problems defining rules that respect the contexts appropriately. But that's
    only if someone can just tell me off the top of their heads by just looking
    at the thing.

    Otherwise, it's time to start talking about building stuff that's let's us
    know for sure whether GSIX is any use or not.
    Again, any guidance in this area much appreciated (Is Prolog a good place to
    start, d'you think?).

    cheers,
    Peter
    ppj@concept67.fsnet.co.uk

    ----- Original Message -----
    From: "Eric Armstrong" <eric.armstrong@eng.sun.com>
    To: <unrev-II@yahoogroups.com>
    Sent: Wednesday, June 27, 2001 9:40 PM
    Subject: Re: [unrev-II] OFFTOPIC? frames, scopes, and functions

    > An interesting post, and one I enjoyed reading.
    > I wish I had the capacity to help you with the answers,
    > but I wish even more that I had the ability to understand
    > the issues!
    >
    > What I got from your message:
    > * You have a system that aims at unifying and extending
    > both RDF and Topic Maps, while solving some problems
    > in both.
    >
    > * But at the same time, there are representational issues
    > that you don't quite know how to solve.
    >
    > * Those issues seem to revolve mostly around "nested"
    > statements:
    > a) X is true.
    > b) Y believes "X is true".
    > c) Z thinks that "Y believes X is true" is false.
    >
    > Is that about it?
    >
    > ppj wrote:
    > >
    > > This might be a tad off-topic for some members of this list, so I
    > > apologise
    > > in advance. It is also a bit long.
    > >
    > > I was wondering if someone could help me with my thinking on the
    > > following
    > > matters, to let me know if I'm talking rubbish or not. I'm not a comp
    > > sci
    > > grad, I drifted into I.T. as an auto-didact from other spaces.
    > >
    > > Once upon a time not so long ago, in venting frustration regarding
    > > certain
    > > matters, I wrote a specification called SIX
    > > (http://www.inpreparation.com/six/). It was a sketch (and possibly
    > > even a
    > > bad sketch at that). Essentially I was trying to do three things. One
    > > was to
    > > free conceptual graphs in XML from the idea of domain-specific syntax,
    > > as in
    > > RDF, and from all the reasons that went into making that aspect of the
    > > syntax of RDF like it is, as I saw that aspect as a bad thing. The
    > > other was
    > > to break down and make explicit all the relations in Topic Maps and
    > > represent them at a single uniform level, exposing them to uniform
    > > processing, because my experiences with XTM at the time led me to
    > > believe
    > > that things were getting murky in that line and I was unable to divine
    > > the
    > > agendas driving that clearly. Then I sought to generalize from RDF and
    > > Topic
    > > Maps to a completely arbitrary graph that I hoped could represent both
    > > and
    > > much more besides.
    > >
    > > Now the reason I've resurrected mention of SIX on this list is Lee
    > > Iverson's
    > > desire to be " able to reuse data in a potentially arbitrary set of
    > > contexts" (see his mail re: Topic Maps, Ted Nelson, Virtual Files...).
    > > I had
    > > hoped that SIX would be quite good for this sort of thing if a certain
    > > approach to processing were taken. However, I've kept quiet on this
    > > matter
    > > because I needed to time to figure out whether or not that was the
    > > case. I
    > > now think my poor brain isn't quite up to the task and I need help. So
    > > what
    > > follows is some ideas about processing SIX, and in particular about
    > > inclusion and reification that I'm hoping someone will start
    > > discussing with
    > > me.
    > >
    > > My vision of how one possible processing model for SIX works:
    > > The core ideas in SIX: atoms, list of atoms, subject-predicate-object
    > > statements, scopes/namespaces, and references. Take the sentence,
    > > "Jack Park
    > > has a website". And let's conceptually create a namespace like this:
    > >
    > > Universe < Milky Way Galaxy < Our Solar System < Third Planet
    > >
    > > where < means the 'is a subscope of ' predicate. So then I can take
    > > the
    > > scope 'Third Planet' and make assertions like,
    > > in-namespace('Third Planet', is-a(person, life-form) )
    > > in-namespace('Third Planet', is-a('Jack Park', person) )
    > > in-namespace('Third Planet', has-a('Jack Park', website) )
    > >
    > > So far so good. But now, as is traditional in such matters, I also
    > > want to
    > > be able to say things like,
    > > "Jack Park has a website called 'Thinkalong'."
    > > And the way I thought about doing this was by the creation of system
    > > references that behaved in certain ways depending on their namespace.
    > > So,
    > >
    > > SREF#123 << in-namespace('Third Planet', has-a('Jack Park', website)
    > > )
    > >
    > > Then,
    > >
    > > in-namespace(SREF#123, is-called(website, Thinkalong) )
    > >
    > > where the SREF provides a mechanism for declaring that the namespace
    > > of this
    > > new statement is the previous one, and that creates the correct
    > > association
    > > structure for attaching properties.
    > >
    > > Then there is the small matter of reification. How do I distinguish
    > > between,
    > > 1) "African elephants are grey" and,
    > > 2) "John thinks African elephants are grey".
    > > 3) "John thinks the statement, 'African elephants are grey,' is
    > > false".
    > >
    > > My guess for (3) was:
    > >
    > > SREF#456 << in-namespace('Third Planet', colour('African elephant',
    > > grey) )
    > > in-namespace('Third Planet', believes(John, is-false(SREF#456) ) )
    > >
    > > Then for (2),
    > > in-namespace('Third Planet', believes(John, SREF#456 ) )
    > >
    > > The problem with my solution for (3) is that 'is-false(SREF#456)' is
    > > another
    > > statement in its own right, and that true and false beliefs are
    > > mental. So I
    > > would have to say something like,
    > >
    > > SREF#678 << in-namespace( 'Human Thought', is-false(SREF#456) )
    > > in-namespace('Third Planet', believes(John, SREF#678 ) )
    > >
    > > Another alternative is just to declare every statement to be in the
    > > namespace of 'Thought' automatically,
    > >
    > > Thought < Universe < Milky Way Galaxy < Our Solar System < Third
    > > Planet
    > >
    > > and then find some way to define a nifty operator (e.g. 'is-F' and
    > > 'is-T')
    > > and its attachment to certain predicates like 'believes'.
    > >
    > > in-namespace('Third Planet', believes(John, is-F(SREF#456) ) )
    > >
    > > Now, are my beliefs about reification correct, and am I barking up the
    > > right
    > > tree overall? Are there any huge problems I'm missing?
    > >
    > > Another nifty thing I had in SIX was grouping. So wherever John is, or
    > > ends
    > > up, I can effectively say,
    > >
    > > in-namespace( group('Third Planet', Heaven, Hell), believes(John,
    > > is-F(SREF#456) ) )
    > >
    > > =>
    > >
    > > in-namespace( 'Third Planet', believes(John, is-F(SREF#456) ) )
    > > in-namespace( Heaven, believes(John, is-F(SREF#456) ) )
    > > in-namespace( Hell, believes(John, is-F(SREF#456) ) )
    > >
    > > and also,
    > >
    > > in-namespace( 'Third Planet', believes(John, group(is-F(SREF#456) ,
    > > is-T(SREF#654) , is-T(SREF#777) )) )
    > >
    > > => John has several distinct beliefs in the same namespace.
    > >
    > > But compare,
    > > in-namespace( 'Third Planet', believes(group (John, Mary, Mungo,
    > > Midge),
    > > group(is-F(SREF#456) , is-T(SREF#654) , is-T(SREF#777) )) )
    > >
    > > => Each person in the first group holds the set of beliefs in the
    > > second.
    > >
    > > Now assuming all of that is fine and dandy, I then want to ask, is it
    > > possible in logic programming to define functions/rules (and here I'm
    > > thinking of reaching for a different syntax for such definitions - see
    > > the
    > > <ruledoc> element in SIX) to only operate within certain scopes, in
    > > much the
    > > same way as I've indicated the validity of the statements above?
    > >
    > > I'm heading in the direction of the graph being everything (XML syntax
    > > being
    > > almost nothing - the barest of bones), and encapsulation, property
    > > assignments, etc. all being controlled by the namespace mechanism.
    > >
    > > Crucially, I am worried that the SREF + namespaces mechanism I've
    > > outlined
    > > here and in the SIX spec might break when functions and rules are
    > > brought
    > > into play on the graph (even though I haven't spotted any problems
    > > yet) so
    > > if anyone has direct insight into that I'd like to know.
    > >
    > > I'll leave the mechanism of <wcvar> to one side for now.
    > >
    > > Any help from anyone, or anyone you know, much appreciated.
    > >
    > > Thanks in advance,
    > > Peter
    > > mailto:ppj1100@connectfree.co.uk
    > >
    > > Yahoo! Groups Sponsor
    > > [Check out great fares at Orbitz!]
    > >
    > >
    > > Community email addresses:
    > > Post message: unrev-II@onelist.com
    > > Subscribe: unrev-II-subscribe@onelist.com
    > > Unsubscribe: unrev-II-unsubscribe@onelist.com
    > > List owner: unrev-II-owner@onelist.com
    > >
    > > Shortcut URL to this page:
    > > http://www.onelist.com/community/unrev-II
    > >
    > > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
    >
    > Community email addresses:
    > Post message: unrev-II@onelist.com
    > Subscribe: unrev-II-subscribe@onelist.com
    > Unsubscribe: unrev-II-unsubscribe@onelist.com
    > List owner: unrev-II-owner@onelist.com
    >
    > Shortcut URL to this page:
    > http://www.onelist.com/community/unrev-II
    >
    > Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
    >
    >
    >

    Community email addresses:
      Post message: unrev-II@onelist.com
      Subscribe: unrev-II-subscribe@onelist.com
      Unsubscribe: unrev-II-unsubscribe@onelist.com
      List owner: unrev-II-owner@onelist.com

    Shortcut URL to this page:
      http://www.onelist.com/community/unrev-II

    Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



    This archive was generated by hypermail 2b29 : Wed Jun 27 2001 - 15:01:00 PDT