<feed xmlns="http://www.w3.org/2005/Atom" xmlns:foaf="http://xmlns.com/foaf/0.1/"><title>norman.walsh.name: Comments on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts"/><id>http://norman.walsh.name/2005/11/25/contacts/comments.atom</id><updated>2012-02-13T10:28:21.331591Z</updated><entry><title>Comment 1 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0001"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0001</id><published>2005-11-29T16:49:08Z</published><updated>2005-11-29T16:49:08Z</updated><author><name>Dorothea</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Y'know, this essay illuminates a lot of why I will only use RDF when dragged kicking and screaming in front of a directed graph.</p>

<p>I learned to make tolerable ERDs in a few weeks. The design principles were pretty clear, and where they weren't clear, the tradeoffs were easily explainable.</p>

<p>I learned to write tolerable SGML DTDs (basic ones, anyway -- not so much the modular, INCLUDEd ones) in a few months. The design principles were pretty clear, and where they weren't clear, the tradeoffs were evident to  an eye used to coping with instances.</p>

<p>The design principles for an RDF vocabulary -- are there any? I've once or twice, to my sorrow, been in a room where an RDF vocabulary was being designed. All discussions devolved into class-property-label disputes, weird attempts to turn "what the model is REALLY saying" into English sentences whose syntax invariably ended up horribly tortured and which did not clarify the issue at hand in the slightest, and confusion about bags or lists or links or whatever.</p>

<p>(And RDF people get all squinchy if you don't do these things correctly, even when they can't coherently explain the design principles or the tradeoffs. That's the worst part.)</p>

<p>I've never written a topic map, but if I had to, I expect I could figure out how in a few weeks (what with all my wizard librarian-fu). I doubt I'll ever figure out how to put together an RDF ontology. Possibly that should bother me, but somehow... I'm not bothered.</p>
  </div></content></entry><entry><title>Comment 2 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0002"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0002</id><published>2005-11-29T17:15:17Z</published><updated>2005-11-29T17:15:17Z</updated><author><name>Tom Passin</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>The thing about working out rdf models, if you already know ER modeling, is just to do ER modeling at the conceptual modeling level.  RDF can be thought of as an ultra-normalized relational database, modulo a few quirks, of course.  It's usually pretty straightforward to go from a high level ER diagram to an rdf design.  An advantage is that, with rdf, you don't have to create new tables or rows for rare cases. The rdf data set can be like a set of sparse tables.
</p>
    <p>
You can also do some informal object modeling as your starting point.
</p>
    <p>
Just like ER designs, there are usually several ways to model something in rdf, and usually, none of them is the "one right way".
</p>
    <p>
You also don't have to use every feature of rdf to do most of your work, anymore than you have to use every feature of a relational database.  Use a nice subset and forget the rest for some other time.</p>
  </div></content></entry><entry><title>Comment 3 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0003"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0003</id><published>2005-11-29T19:08:19Z</published><updated>2005-11-29T19:08:19Z</updated><author><name>Rich</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Norm,
  I've had to do exactly this kind of modelling of types on phone numbers and email addresses, both personally and in my corporate work.
</p>
    <p>
  The solution I used is to exploit the fact that tel: URIs and mailto: URIs are the only acceptable ranges of foaf:phone and foaf:mbox, so we can actually <b>type the objects</b>.
</p>
    <p>
  My blog post on this topic is <a rel="nofollow" href="http://www.holygoat.co.uk/blog/entry/2005-06-12-2">here</a>. 
</p>
    <p>
  So, rather than making subproperties of foaf:phone, we can just use foaf:phone and assert that, say,
</p>
    <p>
   &lt;tel:+1-234-567-8900&gt; rdf:type EXT:cellPhone .
</p>
    <p>
  It's a modelling choice, but I quite like it.</p>
  </div></content></entry><entry><title>Comment 4 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0004"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0004</id><published>2005-11-29T19:20:38Z</published><updated>2005-11-29T19:20:38Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">I think you're missing what's really different here, Dorothea. What
makes the modelling issues in this example interesting has relatively
little to do with the technology. My first design, the one that was
just for me and didn't use any terms in any other vocabulary, took
about 10 minutes to write and followed design principles that I've
learned from years of work on XML vocabularies. Instantiating that
model in RDF was easy and straightforward.
<p>
But unlike database design and XML schema design, which are designs
that live in relative isolation, designing an RDF ontology (or at
least this ontology) is about cooperating in a web-scale information
space. Just as my pages on the web benfit from the network effect, the
terms in my RDF vocabulary can benefit from that effect as well.
</p><p>
I want people to reuse them, I want them to spread, and I want to add
value to the network by reusing terms from other vocabularies. My
struggles with the design are as much about my attempts to understand
what it means to design an ontology that will be used on that scale as
they are about the details of this particular model.
</p><p>
As for discussions that devolve into class-property-label disuptes, if
you haven't seen the same thing in designing XML vocabularies
(elements or attributes?, element and attribute names!, mixed content
or element content?, wrapper element or no wrapper element?, etc.),
tag along with your favorite XML consultant sometime :-)</p></div></content></entry><entry><title>Comment 5 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0005"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0005</id><published>2005-11-29T19:28:49Z</published><updated>2005-11-29T19:28:49Z</updated><author><name>Norman Walsh</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">(Sound of palm striking forehead)
<p>
Thanks, Rich. That's an interesting idea.</p></div></content></entry><entry><title>Comment 6 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0006"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0006</id><published>2005-11-30T10:08:34Z</published><updated>2005-11-30T10:08:34Z</updated><author><name>Dave Pawson</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>While my initial response was that I liked the xml version of contacts,
I did empathize with Dorotheas comments. Your response made (at least
part of) your reasoning clear.
<i>designing an RDF ontology (or at least this ontology) is about cooperating in a web-scale information space</i> could be seen
as taking xml another step forward. I'd be interested in hearing more
from you on this please Norm.
</p>
    <p>
Also of interest to me was another piece of rationale for wanting the rdf, that you don't expand on.
</p>
    <p>
<i>I want to be able to combine the contacts in my address book with other data sources in ways that RDF makes easy and I want to be able to do inference over contacts again.</i>
</p>
    <p>
Which rdf tools make it easier than merging and querying the XML please?
</p>
    <p>
regards DaveP</p>
  </div></content></entry><entry><title>Comment 7 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0007"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0007</id><published>2005-12-01T12:42:42Z</published><updated>2005-12-01T12:42:42Z</updated><author><name>Roberto Garcia</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>You have left it as an open question but why did you not consider vCard from the beginning?</p>
<p>I think it might not be very RDF-friendly, because it was conceived with XML in mind, but it facilitates mapping existing contacts information to the RDF space. For instance my RDF <a rel="nofollow" href="http://rhizomik.net/content/roberto/rgg.rdf">profile</a>, which is rendered as HTML with <a rel="nofollow" href="http://rhizomik.net/redefer">ReDeFer</a> at my <a rel="nofollow" href="http://rhizomik.net/~roberto">homepage</a></p>.</div></content></entry><entry><title>Comment 8 on /2005/11/25/contacts</title><link rel="alternate" type="text/html" href="http://norman.walsh.name/2005/11/25/contacts#comment0008"/><id>http://norman.walsh.name/2010/09/25/oauth#comment0008</id><published>2005-12-01T21:52:09Z</published><updated>2005-12-01T21:52:09Z</updated><author><name>Rich</name><foaf:mbox_sha1sum>da39a3ee5e6b4b0d3255bfef95601890afd80709</foaf:mbox_sha1sum></author><content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml">
    <p>Re Roberto: I'm assuming you're referring to the vCard-in-RDF spec that's lying around on the W3C's servers somewhere.
</p>
    <p>
The reason not to use it… it's <b>awful</b>. Avoiding it like the plague is the best idea.</p>
  </div></content></entry></feed>

