- 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