RE: use/mention and reification: rdf:predicate/subject/object [was: RDF Abstract Syntax...]

Graham Klyne wrote:
>
>
> At 01:01 PM 5/26/01 -0500, Dan Connolly wrote:
> >But if you take the quotes (') out,
> >I can't see how it works. I discovered this problem
> >back in August when I was writing
> >   http://www.w3.org/2000/07/hs78/KIF
> >and I have been trying to make sense of
> >
> >         (rdf_subject ?s1 color)
> >
> >without the ' ever since, and I can't make it work.
>
> Going out on a limb here, I'm going to hazard a guess that you need
> quotation to make sense of this using the KIF wtr axiom schema,
> because wtr
> is defined in terms of quotation.
>
> Is it not a different approach to have the subject resource of a
> statement
> reification stand for the *interpretation* of the statement in the domain
> of discourse, rather that a quotation of the original statement?
> (I rather
> thought that this was what Pat Hayes was trying to suggest in a previous
> message [1].)
>
> #g
> --
>
> [1] http://lists.w3.org/Archives/Public/www-rdf-logic/2001May/0071.html

Yes exactly. I was specifically considering this point. Note that in the
proposed abstract syntax, assertion and reification are distinct. One can
refer to a statement that either is or is not asserted within a particular
context.

Another point: CWM does not use triples rather quads. (p,s,o,context) so it
appears this intellectual barrier of the arc being a triple has already been
broken ... indeed numerous implementations/APIs do not deal with base
triples. Another example would be the RDFHandler interface (used to feed
statements into Jena): literal and resource statements are distinct. A
literal is a 5-tuple and a resource a 4-tuple. If the CWM thinks it is using
triples, then heck, why not say that a 7-tuple is a triple :-)) _Of course_
they could be decomposed into triples but that's not the point.

>What do you mean by :not?
>Is that a use of the not symbol or a mention of it?

The abstract syntax uses URI references. The notation:

[:not,:foo,:bar ...] with an empty prefix is intended for example purposes
to refer to a URI reference (ala N3) for example:

http://example.org/logic#not
http://example.org/example#foo

This appears to be a common convention in our discussions and I assumed what
was to be contained in the tuples would be understood in this context,
however I will edit the document to make this explicit. This is intended to
be an abstract syntax, so the 'meaning' of the tuple:

[:not, #S1, log:true,ctx-foo,S1,1,true]

is something that should be understood in the context of a defined
semantics, that is I assume the symbols :not, :or, :and etc represent a
logical language represented in the abstract syntax (that is a language
whose _expressions_ may be represented in the abstract syntax).

The above tuple in URI reference form:

[http://example.org/logic#not,#S1,http://example.org/logic#true,http://examp
le.org/context-foo,S1,1,true]

The semantics of this logic language would be expressed in terms of the
abstract syntax (i.e. by another specification), but to be clear the
abstract syntax does not itself define such semantics.

To be clear, the design of what 'goes into' the tuples was directly
influenced by the stated requirements of logic languages (e.g. the "what do
ontologists want" thread) but this syntax does not itself define a logic
language. We have several distinct surface syntaxes N3, RDF XML, and perhaps
KIF (perhaps because _perhaps_ KIF might be directly parsed into this
abstract syntax but that is an entirely different issue). If we can agree on
a internal structure by which to represent individual and compound
statements (i.e. expressions), then we can describe a logic language in
these terms.


-Jonathan

Received on Sunday, 27 May 2001 09:18:01 UTC