- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Tue, 14 Jul 2009 09:50:37 +0100
- To: Brad Cox <bradjcox@gmail.com>
- Cc: public-owl-dev@w3.org
On 13 Jul 2009, at 12:23, Brad Cox wrote: > Thanks Bijan. That leaves just one puzzler. Why is it > foaf:imaginaryFriend not foaf#imaginaryFriend, I don't understand the question. foaf:imaginaryFriend is a qname in what I wrote. The foaf prefix expands to the foaf uri (or to an arbitrary URI, depending on the declaration). I don't know what foaf#imaginaryFriend is supposed to be. If you are asking why foaf uses a slash vs. a hash I direct you to Dan's email. Though I dislike the architectural arguments mobilized for hash, hash is by far the more common. So I'd just do that. > and which should I use for my own properties from my core: (core#?) > namespace? I'd go with hash. > I've been doing it like this, confused by when to use core: vs core# > > <rdf:Description rdf:about="#SomeModelElement"> > <rdf:type rdf:resource="http://<host>/ontology/2009/07/ > core#SomeElementClass"/> > <core:isElementOf rdf:resource="#SomeModel"/> > <core:hasStakeholder rdf:resource="#SomeStakeholder"/> > <rdfs:comment>Some Comment</rdfs:comment> > </rdf:Description> > > Seems to work. But how to explain why to newcomers? I couldn't. I take two attitudes: It doesn't matter. Do whatever you feel like. (That's mostly true for many styles of working.) Use hash because that's What People Do. But ignore the philosophical/ architectural arguments. If you are building a "normal" ontology either is fine. If you intend to publish it on the web for a very specific pattern of use, then you might need to consider slash namespaces. Most people don't fall into that pattern of use. > PS: One other. I thought rdf:ID="SomeName" was *THE* way to *define* > a new item that you *know* doesn't exist and rdf:about="#SomeName" > was *THE* way to reference or extend one that might not yet exist. That's a line people take. But because it doesn't show up in the model, it's not, IMHO, a good line to take. It's better to think of rdf:ID as a syntactic sugar for rdf:about + some weird side effects/ restrictions. rdf:resource is *also* syntactic sugar for rdf:about. rdf:about is the fundamental one. The resulting triples don't care which you used in your RDF/XML and keep no trace of it. > Why there's about= and resource=, I've never understood. Syntactic sugar trying to fit into certain design constraints for 1999 thoughts about how to combine multiple xml applications. In other words, hysterical raisons. The modern attitude (imho) is that only the resultant triples matter. So, drop ID, and only use resource if you like that sugar. Cheers, Bijan.
Received on Tuesday, 14 July 2009 08:51:18 UTC