- From: pat hayes <phayes@ai.uwf.edu>
- Date: Thu, 17 May 2001 21:31:34 -0500
- To: "dehora" <bill@dehora.fsnet.co.uk>
- Cc: www-rdf-logic@w3.org
>
>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>
>: dehora
>: >I think that these two are not at all the same:
>: >
>: >1: RDF reification is a technique to make statements about
>: >statements.
>: >
>: >2: KR reification is a technique for objectifying a statement.
>:
>: pat hayes
>: These seem to me to be clearly identical. Maybe you mean something
>: more by 'objectifying' than I do, but calling something an 'object'
>: (or an 'entity') in KR simply means that it is considered to be in
>: the semantic domain of description, and this is exactly what is
>: implied by saying that one is making statements about it. Objects
>: *are* things that one makes statements about (actually, it would be
>: better to say, things that one could make statements about, but
>thats
>: a technical quibble.).
>:
>: Maybe you could elaborate on what you see as the distinction here?
>
>I'll try.
Thanks.
>I made 2 mistakes at least. First (my bad), I should have
>said this:
>
>2: KR reification is a technique for objectifying relations.
Ah, OK, but now I disagree. That is what happens when one uses a
higher-order logic (usually: in the new KIF spec we show how to
objectify (some) relations in a first-order logic, but that is a
newish idea). But having relations in the domain - objectifying them,
referring to them, quantifying over them - doesnt involve any kind of
reification, as that term is understood in KR. That is, it doesnt
refer to sentences, or involve a metalanguage, or any kind of
reflection principles. (The RDF spec unfortunately uses the
'higher-level' terminology to refer to a meta-language. This is a
common error of nomenclature, but its still an error.)
>
>Second, I mixed up reification and mentioning (and then proceeded to
>waffle on about the difference...oh dear). Though I claim that this
>is easy to do in RDF.
>
>I don't know enough to say whether reification itself is a dud for
>RDF. In my KR102 class and in the 2 or 3 books I have that mention
>reification, it came across as a technique to allow a language to
>refer to its categories which are sometimes treated as predicates,
>like dotcom(shop.com), and offers a trick that allows you to say
>titsup(dotcom, shop.com) and treat the predicates as terms in the
>language.
Careful: do you mean predicate symbols, or the predicates themselves
(ie the properties that the predicate symbols denote)? The way I
understand it, reification means treating the symbols as objects. If
you want to refer to a predicate, you just use the predicate symbol
in the usual way (ie without reifying it.)
What you are talking about here seems to be translating higher-order
notation into first-order notation by using what KIF calls a 'holds'
relation, ie you write holds(R, ?x) instead of R(?x) . Which is a
neat trick, but not reification.
>And stuff like genus/inheritance using isa() and ako()
>becomes available as you go.
Isa isn't usually thought of as involving reification anywhere I
know. Inheritance is simply an efficient way of implementing a whole
lot of implications or subclass relations. (If you have defaults then
the logic is more complicated, but it still doesnt involve
reification.)
>Now, I don't think RDF statements are
>categories that can be treated like this for the most part, which is
>why I say that reification over them isn't like KR reification. Then
>again, I found KR102 tough going. However my real beef as an
>implementer is with the 4 triples that make up an RDF reification,
>not with the use of a URI acting as a reified statement.
>
>How about this; all imho:
>
>1: RDF reification is a technique that turns statements into URIs.
>2: KR reification is a technique that turns predicates into terms.
>
>in RDF:
>
>3: a statement is not a predicate.
>4: a statement is not a resource.
? I thought a resource could be anything (?) I am still trying to
find out what 'resource' means, but Dan Connolly tells me that:
the standard [definition of resource] is RFC2396:
[[[
Resource
A resource can be anything that has identity.
[...]
]]]
which seems to cover just about anything in the universe, certainly
including RDF statements.
>5: a predicate is a resource.
>6: a resource clearly doesn't need to be reified to have a statement
>made about it.
Not obvious to me at present.
>7: excluding literals, things that are not resources cannot have
>statements made about them.
>8: a reified_statement is a resource.
>9: a _reification consists of 4 statements, which share a
>reified_statement.
>
>so I'm inclined to say:
>
>10: RDF and KR reifications are not the same or at least not
>operating on the same stuff.
>10.a: a _reification is not an object.
>10.b: a reified_statement is an object.
>
>and inclined to believe that:
>
>11: I want to be able to nest statements, especially queries.
>12: I want to be able to hang properties off statements.
>13: I might want to reify statements. Who knows.
>14: I'd like to mention a statement with having to make a
>_reification.
>15: I'd like to reify a statement with having to make a _reification.
>16: I'd like to hang properties off a statement with having to make a
>_reification.
>17: I'd like to be able to get my software to easily distinguish
>between 15,16,17.
>18: Bookkeeping _reifications in software is a hassle I could live
>without.
>19: In fact the thing I like least about RDF as an implementer are
>_reifications.
>20: I've suggested a tacky way to avoid _reifications using literals.
>21: Jonathan Borden's query syntax proposal has better articulation,
>has real legs.
I think that we have come to similar conclusions, if by rather
different routes.
Pat Hayes
---------------------------------------------------------------------
IHMC (850)434 8903 home
40 South Alcaniz St. (850)202 4416 office
Pensacola, FL 32501 (850)202 4440 fax
phayes@ai.uwf.edu
http://www.coginst.uwf.edu/~phayes
Received on Thursday, 17 May 2001 22:31:36 UTC