Ontology

About

MOAT defines a lightweight ontology to represent how different meanings (i.e. URIs of Semantic Web resources) can be related to a tag.

MOAT defines what we call local meanings and global meanings for each tag. Global meanings represent the list of all meanings that could be related to a tag in a complete folksonomy space (e.g. modeling that "apple" can refer to the fruit, the company or the record label - using URIs of those concepts). Local meanings identifies the given meaning of a tag in a tagging action (e.g. modeling that "apple" means the record label in a particular tagging action).

To achieve this goal, the ontology first defines a Tag object, that extends the Tag class from Richard Newman's tag ontology. The main reason is that we consider there is a unique label for each tag (while Newman's ontology does not introduce such a restriction). Global meanings are then related to a tag thanks to a hasMeaning property and a Meaning class. We rely on FOAF to keep the information about who defined such possible meanings (could be used for collaborative filtering algorithms)

E.g. Representing a tag labelled "apple", with three different meanings, given by two users:


<moat:Tag rdf:about="http://tags.moat-project.org/tag/apple">
<moat:name><![CDATA[apple]]></moat:name>
  <moat:hasMeaning>
    <moat:Meaning>
      <moat:meaningURI rdf:resource="http://dbpedia.org/resource/Apple_Records"/>
      <foaf:maker rdf:resource="http://apassant.net/alex"/>
      <foaf:maker rdf:resource="http://example.org/user/foaf/1"/>
    </moat:Meaning>
  </moat:has_meaning>
  <moat:hasMeaning>
    <moat:Meaning>
      <moat:meaningURI rdf:resource="http://dbpedia.org/resource/Apple"/>
      <foaf:maker rdf:resource="http://example.org/user/foaf/1"/>
    </moat:Meaning>
  </moat:has_meaning>
  <moat:hasMeaning>
    <moat:Meaning>
      <moat:meaningURI rdf:resource="http://dbpedia.org/resource/Apple_Inc."/>
      <foaf:maker rdf:resource="http://apassant.net/alex"/>
    </moat:Meaning>
  </moat:has_meaning>
</moat:Tag>

Local meanings are modeled by using the RestrictedTagging class of the Tag Ontology, combined with a tagMeaning property.

E.g. Representing that "apple" means the record company in a given tagging context:


<tag:RestrictedTagging>
  <tag:taggedResource rdf:resource="http://example.org/post/1"/>
  <foaf:maker rdf:resource="http://apassant.net/alex"/>
  <tag:associatedTag rdf:resource="http://tags.moat-project.org/tag/apple"/>
  <moat:tagMeaning rdf:resource="http://dbpedia.org/resource/Apple_Records"/>
</tag:RestrictedTagging>

The following picture represent the main concepts of the MOAT ontology

In general, end-users should not have to deal with the ontology, since the ontology is mainly use to let a MOAT server and clients share and model information.

Related ontologies

MOAT uses FOAF and its foaf:maker property to define which people consider a URI as the meaning of a Tag. This information can be useful when querying a MOAT server, e.g. to retrieve only meanings that have been given by your friends.

MOAT can also be related to SIOC, by defining the tagged resource as an instance of sioc:Item but also by linking direclty the tagged resource to the local meaning URI using the sioc:topic property (must be used if the tag is a topic, and not an informative tag, such as "toread", "good", "blogpost'', ...)

Finally, related work about ontologies and the Semantic Web can be found in Richard Newman's tag ontology (used in the MOAT ontology), and the SCOT project.