- From: Richard H. McCullough <rhm@cdepot.net>
- Date: Wed, 13 Nov 2002 08:57:03 -0800
- To: <MDaconta@aol.com>, <fmanola@mitre.org>, <www-rdf-interest@w3.org>
- Message-ID: <000b01c28b35$b12d78b0$bd7ba8c0@rhm8200>
My web site (click on "knowledge" below my name) has lots of examples of statements about instances and Classes. The examples are written in the KR language, which is even more English-like than N3. My examples use the terminology of epistemology instead of AI. The key identities are: existent is Thing entity is Class attribute is Property enumeration is Alt multiset is Bag list is Seq ============ Dick McCullough knowledge := man do identify od existent done knowledge haspart list of proposition ----- Original Message ----- From: MDaconta@aol.com To: fmanola@mitre.org ; www-rdf-interest@w3.org Sent: Wednesday, November 13, 2002 8:16 AM Subject: Re: The semantics of blank nodes Hi Frank, Thanks for the response. I will try and express the point better... In a message dated 11/13/2002 5:38:14 AM US Mountain Standard Time, fmanola@mitre.org writes: I'm not sure I fully understand your point. At the moment, as you say, the structure of the example is: <Staff Member> <address> <blank node> <blank node> <street> "1501 Grant Avenue" whereas you're suggesting it should be <Staff Member> <livesAt> <Address> <Address> <street> "1501 Grant Avenue" However, it seems to me that all you've done is changed the name of the predicate. The changed name for the predicate may, to some people, convey the semantics in English more accurately (it could also have been "hasAddress"), but the semantics seem to me to be exactly the same: the blank node represents an address, which has various properties itself (street, and so on). In other words, it seems to me that the example could just as easily have been written, using your predicate name: The point I disagree with above is when you say, "the blank node represents an address" because no where do we connect it with the concept (or Class) "Address". As you say below, this could be resolved if we specify a type and then that clears up the semantic confusion. I would guess that a blank node then really just means "thing" (unless we type it). <Staff Member> <livesAt> <blank node> <blank node> <street> "1501 Grant Avenue" with the exact same semantics. The only difference between this and what you've suggested seems to be that in your example, the object of the first statement is <Address>, which I presume means it has a URI (and possibly that it has a type such as "Address"). But the point of the example was an assumption that you for some reason *didn't* want to assign the address a URI (you could have given the blank node a type if you wanted). In other words, use of a blank node here isn't as much a semantic issue as it is a matter of URI management. If you want to assign everything a URI, that's cool, but I don't think it changes the structure of the model. Perhaps I'm not understanding your point? My point was that an un-typed blank node is semantically ambiguous. I think the solution is to type the blank node. I still am not 100% clear on the best practices for modeling statements about instances versus statements about classes of things. I may need to work on some more examples ... if you know any good references that talk about this distinction please let me know. Just to close the loop, then to assign the type to the blank node I would use rdf:type with the resource being a previously defined <rdfs:Class rdf:about="#Address"> right? Thanks, - Mike ---------------------------------------------------- Michael C. Daconta Director, Web & Technology Services www.mcbrad.com
Received on Wednesday, 13 November 2002 11:57:08 UTC