RE: What do the ontologists want

>
>-----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