An ontology describing the concept of a tagging
Denotes the visibility of a Tagging. Can be one of {Private Public Protected}. The application using this ontology has to take care of handling the authentication etc.
Visibility
any foaf:Person or foaf:Group who has at least one tagging is a Tagger.
Tagger
Tag
represents a single tag or keyword. Each tag has a unique URI. Equal tags (e.g. "san francisco" and "san fran") can be semantically related via the sameTag property. Semantic relations, such as broader and narrower terms (e.g. "blue" is kind of "color"), can be expressed with the SKOS core ontology (e.g. http://www.w3.org/2004/02/skos/core#broader). Therefore Tag is a subclass of SKOS core Concept.
Denotes the concept of a tagging: a Tagging consists of at least the basic tuple {tagger, resource, tags}. All other properties are optional. Furthermore Tagging follows the ValuePartition pattern, which means that it can only have values from either PublicTagging, PrivateTagging or ProtectedTagging.
Tagging
the domain (or even community) in which the tagging occured (e.g. delicious, flickr). specifiying a domain allows for cross-application tagging without losing the context in which the tagging has been done.
Service Domain
taggedResource
specifies the resource being tagged
type of the resource, e.g. image, text, ... this should be decided from the system (e.g. based on the MIME type), not from the user. thus, a tagged resource can have only one type.
type
specifies the tag that belongs to the tagging. Each tagging can have multiple tags
tag
domain
specifies that a tagging happens in the context of a specific domain (i.e. flickr, delicious). a tagging can also belong to multiple domains (e.g. multiple social bookmarking tools), which allows for cross-application tagging.
denotes the visibility of the tagging (Private, Public or Protected)
Visibility
the homepage URI of a ServiceDomain (i.e. a service which allows for tagging resources).
service homepage
tag name
denotes the name (displayname) of a tag. A Tag can have multiple tag names which include variations of the same name (i.e. "c++", "cplusplus", "c_plus_plus",...). Thus one can infer that they all denote the same tag.
additional notes to be added to a tagging (e.g. "picture of my cat mauzi")
Notes
date
specifies the date and time of the tagging
Service Name
denotes the name of a tagging service provider, e.g. flickR
denotes equality between two tags with different URIs.
if a tag has multiple name, then you should provide a preferred name, which will be displayed. If a Tag has only one tagName, then prefTagName should have the same value.
has Tagging
relates a Tagger to his Taggings.