Modular Unified Tagging Ontology (MUTO)
type: Ontology
label: MUTO Core Ontology
description: The Modular and Unified Tagging Ontology (MUTO) is an ontology for tagging and folksonomies. It is based on a thorough review of earlier tagging ontologies and unifies core concepts in one consistent schema. It supports different forms of tagging, such as common, semantic, group, private, and automatic tagging, and is easily extensible.
creator: Steffen Lohmann
issued: 2011-11-16
licence: http://creativecommons.org/licenses/by/3.0/
version info: Version 1.0 - Global changes (compared to earlier versions): Some properties have been renamed; cardinality constraints in class descriptions (owl:Restriction) have been replaced by global cardinality constraints (owl:FunctionalProperty).

Tagging
type: Class
comment: A tagging links a resource to a user account and one or more tags.
subclass of: Item

Private Tagging
type: Class
subclass of: Tagging
comment: A private tagging is a tagging that is only visible to its creator (unless the creator has not granted access to others via muto:grantAccess). Every tagging that is not an instance of muto:PrivateTagging is public by default.

Tag
type: Class
comment: A Tag consists of an arbitrary text label. Note that tags with the same label are NOT merged in the ontology.
subclass of: Concept
version info: Version 1.0: The owl:disjointWith statement was removed to make MUTO conform to OWL Lite (the statement is not essential in this case).

Automatic Tag
type: Class
subclass of: Tag
comment: An automatic tag is a tag that is automatically associated with a resource (e.g. by a tagging system), i.e. it is not entered by a human being.
version info: Version 1.0: muto:AutoTag was a subclass of muto:Tagging (called muto:autoTagging) in earlier versions. Defining it as a subclass of muto:Tag is more appropriate and allows for taggings that contain a combination of manually and automatically created tags.

has tag
type: ObjectProperty
comment: A tagging consists of a (theoretically unlimited) number of tags. A tagging may also consist of no tags, e.g. if the system allows its users to mark a resource first and add tags later.
domain: Tagging
range: Tag

tag of
type: ObjectProperty
type: FunctionalProperty
comment: Every tag is linked to exactly one tagging. This results from the fact that tags with same labels are NOT merged in the ontology.
domain: Tag
range: Tagging
inverse of: has tag

tagged resource
type: ObjectProperty
type: FunctionalProperty
comment: Every tagging is linked to exactly one resource. This can be any kind of resource (i.e. all subclasses of rdfs:Resource), including tags and taggings.
domain: Tagging
sub property of: about

tagged with
type: ObjectProperty
comment: A resource can have several taggings from different users. Tags are never directly linked to resources but can be inferred from the taggings.
range: Tagging
inverse of: tagged resource

has creator
type: ObjectProperty
type: FunctionalProperty
comment: Every tagging is linked to at most one user account. This property can be omitted for automatic taggings. In contrast to its superproperty sioc:has_creator, it is functional and with an explicit domain. Use sioc:member_of to define groups for group tagging or link to foaf:Agent, foaf:Person, or foaf:Group via sioc:account_of.
domain: Tagging
range: UserAccount
sub property of: has creator

creator of
type: ObjectProperty
comment: A user account can have a (theoretically unlimited) number of taggings. Use sioc:member_of to define groups for group tagging or link to foaf:Agent, foaf:Person, or foaf:Group via sioc:account_of.
domain: UserAccount
range: Tagging
sub property of: creator of
inverse of: has creator

grant access
type: ObjectProperty
comment: A (usually private) tagging can be linked to one or more user accounts or user groups that should have access to it (apart from the creator). This property can also be used in public tagging to link a user account or user group to a tagging (e.g. if the creator of a tagging wants to suggest the tagging to another user).
domain: Tagging
version info: Version 1.0: The range information has been removed for greater flexibility and OWL Lite conformance (no longer owl:unionOf). Classes from different vocabularies can now be used here - such as sioc:UserAccount, sioc:Usergroup, foaf:OnlineAccount, foaf:Group, or dcterms:Agent -, though we recommend the use of sioc:UserAccount or sioc:Usergroup to remain in the SIOC namespace.

has access
type: ObjectProperty
comment: A user account or user group can have access to a private tagging from another user if the access is explicitly permitted by the creator of the tagging. This property can also be used in public tagging to link a user account or user group to a tagging (e.g. if the creator of a tagging has suggested the tagging to another user).
range: Tagging
inverse of: grant access
version info: Version 1.0: see muto:grantAccess

tagging created
type: DatatypeProperty
type: FunctionalProperty
comment: Every tagging has exactly one creation date and time. The datatype of this property is xsd:dateTime (in contrast to its superproperty dcterms:created which has range rdfs:Literal).
domain: Tagging
range: dateTime
sub property of: created

tagging modified
type: DatatypeProperty
comment: A tagging can have multiple modification dates, as the number of times a tagging can be edited (e.g. to add or remove tags) is theoretically unlimited. The datatype of this property is xsd:dateTime (in contrast to it superproperty dcterms:created which has range rdfs:Literal).
domain: Tagging
range: dateTime
sub property of: modified

tag created
type: DatatypeProperty
type: FunctionalProperty
comment: The creation date and time of a tag. This property can be omitted if muto:taggingCreated = muto:tagCreated (i.e. in the common case that a tag has been created along with a tagging, not in a later edit of the tagging). The datatype of this property is xsd:dateTime (in contrast to it superproperty dcterms:created which has range rdfs:Literal).
domain: Tag
range: dateTime
sub property of: created

tag meaning
type: ObjectProperty
comment: The meaning of a tag can be expressed by a link to a well-defined resource. This can be any resource that clarifies the meaning of the tag (e.g. some DBpedia resource).
domain: Tag

meaning of
type: ObjectProperty
comment: The number of tags that can be linked to one and the same meaning is theoretically unlimited.
range: Tag
inverse of: tag meaning

automatic tag meaning
type: ObjectProperty
comment: This subproperty indicates that the meaning of a tag has been automatically defined (e.g. by a tagging system), i.e. it has not been defined by a human being. The default case is disambiguation by users via muto:tagMeaning.
domain: Tag
sub property of: tag meaning

tag label
type: DatatypeProperty
type: FunctionalProperty
comment: Every tag has exactly one label (usually the one given by the user) - otherwise it is not a tag. Additional labels can be defined in the resource that is linked via muto:tagMeaning.
version info: Version 1.0: The subproperty relation to rdfs:label has been removed for OWL DL conformance (rdfs:label is an annotation property and one cannot define subproperties for annotation properties in OWL DL).
domain: Tag
range: Literal

next tag
type: ObjectProperty
type: FunctionalProperty
comment: This property indicates the tag that follows next in the list of tags. It can be used to describe the order in which the tags have been entered by the user.
domain: Tag
range: Tag
version info: Version 1.0: Earlier versions of MUTO defined a datatype property muto:tagPosition with integer values which has some drawbacks compared to this solution.

previous tag
type: ObjectProperty
type: FunctionalProperty
comment: This property indicates the tag that is preceding in the list of tags. It can be used to describe the order in which the tags have been entered by the user.
domain: Tag
range: Tag
inverse of: next tag
version info: Version 1.0: see muto:nextTag