Re: Tag ontology RFC

Richard Newman wrote:
> 
> All,
>   I threw some rough notes about the tag ontology on the Web for future 
> reference. I might yet also get this thing out of the door, but I have a 
> paper to write that I've been putting off :)
> 
>   <http://www.holygoat.co.uk/projects/tags/>
> 
>   Further comments always welcome.

Few comments.

First of all, tagging is the idea of allowing people to choose their own 
'things' instead of relying on somebody else's concepts... and here you 
are, defining things like

  :equivalentTag
  :relatedTag

that are exactly those idealized concepts that fit your mindset but 
might not fit mine. I suggest to remove those alltogether and let 
ad-hoc-ontologies handle the relationships between tags. Why? well, 
there is no difference between tag:relatedTag and a general purpose RDF 
property anyway.

The only relationships that should be put in a tag ontology are those 
that are objective to the tag themselves, for example "collidesWith" if 
they share at least one label. The rest should be left to the users to 
decide (whether they are equivalent, related, or in what kind of 
relation they are).

Minor, but I think :tagName should be :name, let the namespace provide 
the context.

:taggedResource is useless: it can be easily inferred.

Honestly, I don't think the complexity is worth the value of modelling 
the 'act of tagging', but in any case I definately disagree with

  rss:Item rdfs:subClassOf tags:Tagging .

If you go down this path, pretty much any action related to add RDF to 
something has to be a subClass of tagging.... and pretty soon you end up 
modelling provenance, trust and all that yourself.

I would suggest you stay out of there and reuse what RDF has (will 
have!) to give you instead of reinvent the wheel.

So, here is my tag ontology (modulo its own descriptive metadata):

   tag:Tag a owl:Class .

   tag:tag a owl:ObjectProperty ;
           rdfs:range tag:Tag .

   tag:collidesWith a owl:ObjectProperty ;
           rdfs:domain tag:Tag ;
           rdfs:range  tag:Tag .

That's it.

There is really nothing different between tagging and adding RDF. The 
only difference is that the inference needed to extract :collidesWith is 
different enough that requires me to type it.

Anything else is just the exact same modelling that applies to any RDF 
creation action, so we should just build on the shoulders of those who 
are working on provenance and trust, instead of reinventing the wheel 
every single time.

See my blog post on Folksologies [1] for more info on this.

  [1] http://www.betaversion.org/~stefano/linotype/news/85/

-- 
Stefano Mazzocchi
Research Scientist                 Digital Libraries Research Group
Massachusetts Institute of Technology            location: E25-131C
77 Massachusetts Ave                   telephone: +1 (617) 253-1096
Cambridge, MA  02139-4307              email: stefanom at mit . edu
-------------------------------------------------------------------

Received on Tuesday, 5 April 2005 16:29:23 UTC