W3C home > Mailing lists > Public > www-rdf-logic@w3.org > May 2001

Re: What do the ontologists want

From: pat hayes <phayes@ai.uwf.edu>
Date: Fri, 18 May 2001 20:54:51 -0500
Message-Id: <v04210137b72b71308fbf@[]>
To: Sandro Hawke <sandro@w3.org>
Cc: www-rdf-logic@w3.org
> > We seem to agree. But it seems to me that in order to be able to do
> > this larger-syntax-building, the triples model needs something that
> > it currently does not have: it needs a way to distinguish triples
> > which really are intended to be atomic ground facts (that a binary
> > relation is true of two things), and triples which are intended to be
> > cons cells of some larger thing. Maybe this could be done implicitly,
> > eg if a triple is pointed to by something else then it is a cons cell
> > (?), but that seems likely to backfire. It would be safer if there
> > was some explicit way to tell by looking at a triple in isolation,
> > whether it was a simple tripl-ish assertion, or part of some larger
> > thing.  Maybe there is such a way in the RDF model already that I
> > have not yet grokked ??
>I'm not sure I see this problem.
>For an example, let me introduce a propositional logic and provide a
>rule R which says that given triple <a,b,c> anyone may infer triple
><d,e,f>.  This logic is not very expressive; it does not even allow
>conjunction in the premise:
>    <R, premise, RP>
>    <RP, subject, a>
>    <RP, predicate, b>
>    <RP, object, c>
>    <R, conclusion, RC>
>    <RC, subject, d>
>    <RC, predicate, e>
>    <RC, object, f>
>Each of these triples is true itself, while also building a structure
>for us.

How does this convey the meaning that you indicate, ie that <d,e,f> 
can be inferred from <a,b,c> ? It simply says that some things exist 
called 'R', 'RP' and 'RC', which stand in some undefined relationship 
to a, b, c, and so on. The RDF data model provides no further 
meaning, and the model theory for RDF provides no further meaning. So 
no inferences are sanctioned.

If you want this kind of structure to actually mean somethingmore 
than this - in particular, if you want it to have the force of an 
implication, as indicated - then you need to state truth-conditions 
which support that larger meaning. But those truth-conditions will 
have to refer not more than  the RDF syntax; they depend on the 
particular relation symbols you have used: in this case, 'premis' and 
'conclusion'.  (You will also need to relate <a,b,c> to the three 
triples with 'RP' in the subject, but I presume that this wil be done 
by reification, so I won't dwell on it.) In other words, you have now 
given those symbols a *logical* meaning: they have become part of the 
logical syntax. This isn't RDF any more: it is something else, 
implemented in RDF.

> I have a working system that uses a more complex version of
>this, with datalog rules.

I'm sure you have. I do not mean to say this can't be done. My point 
is only that your working system must embody some assumptions that go 
well beyond the RDF model. So someone who wants to be interoperable 
with you at the semantic level - someone who wants to excahange 
content with you, share ontologies with you, whatever - had better 
know those conventions, because just being RDF-compatible isn't going 
to cut the mustard. If you use 'premis' and 'conclusion' and I use 
'implies', we arent going to understand one another. The fact that we 
both use triples isnt going to be of any use at all, since the 
meanings that matter at the content level arent encoded in the 
structure of the triples..

>The big issue I see, and maybe this is what you're getting at, is
>whether an agent is licensed to apply this rule simply by knowing
>these 8 facts (no matter what we put in the place I put "R"), or if
>some additional inference license is required.  But I think this is an
>engineering problem, not terribly fundamental.

I think it is absolutely central. The point is that if these really 
are 8 facts ,then they don't actually say what you want them to say. 
The only way they can say that <abc> implies <def> is by being taken 
*together* as a larger entity that itself is a fact: the fact that 
(<a bc > implies <d e f>). This is the fact that is actually 'known' 
here.  Those 8 triples just say , at best, that some structure 
exists. They say nothing about inferrability or implication.

This distinction is exactly what I meant by implementing one 
structure in another. If you are here implementing a datastructure 
which represents an implication, then these triples are not facts 
about your domain (maybe they are facts about the structure; but you 
weren't intending to make an assertion *about the structure*, but 
about some logical relationship between <a b c> and <d e f>, right?). 
As I said before, you can't have it both ways. If we are going to 
give this language a semantics *which reflects the intended logical 
meanings*, and those meanings are anything more complicated than 
ground atomic binary relationships, then we must somehow have a more 
complex syntax (encoded somehow) to hang those more complex meanings 
onto; and the conventions that define that syntax then ARE the formal 
language which carries meaning and content across the Semantic Web.

>Do you see some other difficulty here?
> > > > set of triples will be) and we will probably need a few
> > > > datastructuring primitives (like end-of-chain markers, cf. Lisp NIL.)
> > >
> > >Yeah -- that's one of those silly-but-necessary bits DAML does, of
> > >course.  Now other people building KR languages on RDF don't need to
> > >reinvent that.  (not that it would be too hard....)
> >
> > Sure, it wouldnt be hard, though the details do take up a devil of a
> > lot of time, and it would kind of mess with the RDF *semantics*.
>I don't understand how adding higher-level stuff would break the
>underlying semantics.

See above.

> >                                                                    But
> > the point is that if we all start inventing ontology languages on top
> > of RDF in this way then they will all have different semantics and
> > syntax, and so the semantic web is in just as much a mess as it was
> > when we started. Isnt part of the RDF idea to provide a universal
> > semantic notation to deal with that kind of babelization problem? (I
> > know I expressed cynicism about this idea, but given that it is a
> > goal, we could try to do it as well as possible, no?)
>The idea (I think) is that the languages are themselves just

That doesn't make sense. Really, it doesnt. What you could do, is to 
use an ontology to describe the SYNTAX of another language, which is 
in fact what you are doing in your example. But then you need to 
somehow USE that syntax to say what you need to say, not just REFER 
to it.

>Since we're trying to develop an infrastructure which supports a
>process of world-wide ontology development, where new ones can be
>easily created, promoted, and compared against each other in any given
>domain (presumable leading to new ones being created and widely
>deployed) we'll be able to have our logic systems (such as DAML)
>evolve and converge (to some degree) as well.

Sigh. You know, y'all at W3C really ought to find out something about 
actual ontology development practice before saying things like this. 
Have you got any idea how very NOT-easy it is to "create, promote and 
compare" ontologies? And how having an underdefined, impoverished, 
syntax makes this all so much HARDER, rather than easier?

>I think the infrastructure will also give considerable support to
>migrating data between ontologies, especially when the differences are
>superficial, with something like SQL views (ie rules).
>So reasonable people probably disagree about how rapid this evolution
>and standardization will be.  Some people think DAML is already the
>perfect logic system [ :-) ]

Oh, I doubt if ANYONE thinks that.

>and others may think it'll take 30 years
>to narrow the field to 100 primary contenders.  And of course there
>will be some contenders fighting it out on other fields; I don't know
>if KIF will somehow migrate to this field or stay in a different
>arena, for instance.

KIF was an early attempt to be such an interlingua 'standard'. You 
know what I think of that idea.

Thanks for the info about 'partial structures'. I was intrigued by this:

> (Prolog texts treat partial structures as
>the normal order of the day, although perhaps for different reasons.)

which sounds like you mean something like working with unbound 
variables. If so, that is normal practice in inference engines.

Thanks again.

Pat Hayes

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
Received on Friday, 18 May 2001 21:54:53 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:45:38 UTC