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. Local meanings identifies the given meaning of a tag in a 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 between. Global meanings are then related to a tag thanks to a hasMeaning property and a Meaning class.
E.g. Representing a tag labelled “paris”, with two different meanings:
<moat:Tag rdf:about="http://tags.moat-project.org/tag/paris">
<moat:name><![CDATA[paris]]></moat:name>
<moat:hasMeaning>
<moat:Meaning>
<moat:meaningURI rdf:resource="http://sws.geonames.org/2988507/"/>
<foaf:maker rdf:resource="http://example.org/user/foaf/1"/>
</moat:Meaning>
</moat:has_meaning>
<moat:hasMeaning>
<moat:Meaning>
<moat:meaningURI rdf:resource="http://sws.geonames.org/4402452/"/>
<foaf:maker rdf:resource="http://example.org/user/bob/foaf"/>
<foaf:maker rdf:resource="http://somwhere.net/myblog/foaf.rdf#me"/>
</moat:Meaning>
</moat:has_meaning>
</moat:Tag>
Local meanings are done thanks to the use of RestrictedTagging class of the Tag Ontology, combined with a tagMeaning property.
Yet, end-users should not have to deal with the ontology, since it is mainly use to let a MOAT server and clients share information.
E.g. Representing that the tag labelled “paris” means the french city in a given tagging context:
<tag:RestrictedTagging> <tag:taggedResource rdf:resource="http://example.org/post/1"/> <sioc:has_creator rdf:resource="http://example.org/user/sioc/1"/> <tag:associatedTag rdf:resource="http://tags.moat-project.org/tag/paris"/> <moat:tagMeaning rdf:resource="http://sws.geonames.org/2988507/"/> </tag:RestrictedTagging>
The follosing picture represent the main concepts of the MOAT ontology
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.
In order to link the (originally tagged) content to the meaningful URI, while the Tagging class can be used, we suggest to use SIOC and especially its sioc:topic property.
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.