Copyright © 2007-2008 by DERI Galway at the National University of Ireland, Galway, Ireland.
Development of SCOT is supported by Science Foundation Ireland under grant number SFI/02/CE1/I131.
This work is licensed under a Creative Commons License. This copyright applies to the SCOT Ontology Specification and accompanying documentation and does not apply to SCOT data formats, ontology terms, or technology.
Regarding underlying technology, SCOT relies heavily on W3C's RDF technology, an open Web standard that can be freely used by anyone.
This visual layout and structure of the specification was adapted from the FOAF Vocabulary Specification by Dan Brickley and Libby Miller.
SCOT is an acronym for Social Semantic Cloud of Tags. The name was chosen to emphasise the goal of providing a consistent framework for expressing social tagging at a semantic level in machine-understandable way.
The SCOT ontology provides a model for expressing the main concepts and properties required to describe information for tagging activities (e.g., users, tags, resources, etc.) on the Semantic Web. This document contains a detailed description of the SCOT Ontology.
NOTE: This section describes the status of this document at the time of its publication. Other documents may supersede this document.
This specification is an evolving document. This document is generated by combining a machine-readable SCOT Ontology Namespace expressed in RDF/XML with a specification template and a set of per-term documents.
Authors welcome suggestions on the SCOT Ontology Namespace and this document. Please send comments to the SCOT developers' mailing list (SCOT-Dev). This document may be updated or augmented to based on implementation experience, but the authors make no commitment regarding future updates.
Many people participate in adding user-driven metadata, in the form of tags to content created in various social software applications. Tagging, as a new way of information categorization and indexing, has received a great deal of attention from the Semantic Web and Web 2.0 communities. While the initial purpose of tagging was to help users organize and manage their own resources, it has since been proposed that social tagging of common resources is a useful way to allow users to interact using their set of tags via "folksonomies" (a kind of informal distributed classification system).
The advantages and disadvantages of social tagging have been argued by individuals in both academia and industries. Tagging allows users in social media sites to organize their resoures in a simple and intuitive way while enabling and increasing interaction and collaboration among the users. However, we encounter significant problems when we try to use a collection of tags in current tagging systems.
There is no formal conceptualization for representing tagging data in a consistent way. Users have different manners of using tags - this leads to a lack of precision due to keyword ambiguity caused by misspelt certain words, singular vs. plural forms, synonyms, morphologies, or over-personalized tags. Aside from these problems, social tagging systems do not provide a uniform way to share and reuse tagging data amongst users or communities. There is no consistent method for reusing one’s personal set of tags between either web-based systems or desktop applications, or for transferring tags between the desktop and the Web. Although some folksonomy systems support an export functionality using open APIs and share their data with a closed agreement among sites, these systems do not offer a uniform and consistent way to share, exchange, and reuse tagging data for leveraging social interoperability. Therefore, it is not easy to meaningfully search, compare, or merge similar tagging data from different applications.
To overcome limitations of current tagging systems, we need to take into account not only standards for representing tagging data but also interoperable methods to support tag sharing across heterogeneous applications.
SCOT (Social Semantic Cloud of Tags) aims to describe the structure and the semantics of tagging data and to offer social interoperability - for sharing and reusing tag data and representing social relations amongst individuals across different sources.
The SCOT project is based around the use of machine readable tagging data for people, groups, sites etc. To achieve this we use the "SCOT ontology" to proivde a collection of basic terms that can be used in this tagging data. The initial focus of SCOT has been on the description of the structure and the semantics for tagging activities, since tagging itself is a process that combines people, resources, and tags.
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
Namespace URIs of the general form "http://www.example.com/" represent some application-dependent or context-dependent URI as defined in RFC 2396.
The XML Namespace URIs that MUST be used by implementations of this specification are:
The SCOT vocabulary definitions presented here are written using a computer language (RDF/OWL) that makes it easy for software to process basic facts about the terms in the SCOT vocabulary, and consequently about things described in SCOT documents. A SCOT document can be combined with other SCOT and RDF vocabularies to create a unified database of information. SCOT is Linked Data, in that it is based around the idea of linking together a Web of decentralised descriptions.
An alphabetical index of SCOT terms, by class (concepts) and by property (relationships, attributes), are given below. All the terms are hyperlinked to their detailed description for quick reference.
SCOT is managed as a collaborative effort amongst members of the Semantic Web Cluster at DERI, NUI Galway (funded by SFI), BiKE Lab at Seoul National University, and Semantic Web developers on the SCOT developers' mailing list (SCOT-Dev).
The SCOT-Dev mailing list is the main discussion list for questions about SCOT.
The remainder of this specification describes how to publish and interpret descriptions such as these on the Web, using RDF for syntax (file format) and terms from SCOT.
The specific contents of the SCOT vocabulary are detailed in the SCOT Ontology Namespace document.
Related publications:
This section introduces the core of the SCOT model, namely the features that are needed to represent tagging activities.
The fundamental element of the SCOT vocabulary is the TagCloud. This identifies a tag cloud itself and contains relationships to connect other elements and properties.
SCOT introduces the scot:TagCloud
RDFS class that allows implementors to assert that a given URI is a resource. The URI http://int.ere.st/scot/tagcloud/sonagi
in the following example denotes a TagCloud instance with some properties, defining who did the tagging using SIOC,
<scot:TagCloud rdf:about="http://www.blogweb.co.kr/scot/tagcloud/sonagi"> <scot:hasUsergroup> <sioc:Usergroup rdf:about="http://www.blogweb.co.kr/index.php?sioc_type=site#authors"> <sioc:has_member> <sioc:User rdf:about="http://www.blogweb.co.kr/author/sonagi/" rdfs:label="sonagi"> <rdfs:seeAlso rdf:resource="http://www.blogweb.co.kr/index.php?sioc_type=user&sioc_id=1"/> </sioc:User> </sioc:has_member> </sioc:Usergroup> </scot:hasUsergroup> . . </scot:TagCloud>
when the tagging occurred, where the tagging occurred, and how many tags, posts have.
<scot:createdBy rdf:resource="http://www.blogweb.co.kr/author/sonagi/"/> <scot:tagSpace rdf:resource="http://www.blogweb.co.kr/blog"/> <dc:publisher rdf:resource="http://rdfs.org"/> <dcterms:created>2008-05-26T15:11:02</dcterms:created> <scot:updated>2008-05-26T15:11:02</scot:updated> <scot:totalPosts>4</scot:totalPosts> <scot:totalTags>4</scot:totalTags> <scot:totalCooccurTags>1</scot:totalCooccurTags> <scot:totalTagFrequency>5</scot:totalTagFrequency> <scot:totalCooccurFrequency>1</scot:totalCooccurFrequency>
Instead of defining the concept Tagging, SCOT reuses this concept from Newman's ontology. The scot:taggingActivity
describes a relationship between scot:TagCloud
and tags:Tagging
. Here is a basic example:
<!-- Tagging Activities !--> <scot:taggingActivity> <tags:Tagging rdf:about="http://www.blogweb.co.kr/scot/tagging/827"> <tags:taggedBy rdf:resource="http://www.blogweb.co.kr/author/sonagi/"/> <tags:taggedResource rdf:resource="http://http://www.example.com/web.html"/> <scot:associatedTag rdf:resource="http://www.blogweb.co.kr/tag/blog"/> <scot:associatedTag rdf:resource="http://www.blogweb.co.kr/tag/web"/> </tags:Tagging> </scot:taggingActivity>
The scot:contains
describes a relationships between scot:TagCloud
and scot:Tag
. Basically, the Tag describes a tag instance as URI. Moreover, this class allows to express collective features of individual tags. That is, scot:Tag
can describe frequencies (e.g. scot:ownAFrequency, scot:ownRFrequency
etc.) of each tag by calculating their occurrence in a given space. scot:Tag
is aggregated from tags:Tag
of individual tags:Tagging
activity. Here is a very basic document describing a set of tags:
<scot:contains> <scot:Tag rdf:about="http://www.blogweb.co.kr/scot/tag/blog"> <scot:name>semantic</scot:name> <scot:ownAFrequency>15</scot:ownAFrequency> <scot:ownRFrequency>0.27</scot:ownRFrequency> <scot:cooccursIn rdf:nodeID="Cooccurrence_d5abc1bc3d48eab9ba96ff1707ea47f6"/> <scot:tagOf rdf:resource="http://www.example.com/web.html"/> <scot:aggregatesTag rdf:resource="http://www.blogweb.co.kr/tag/blog"/> </scot:Tag> </scot:contains> <scot:contains> <scot:Tag rdf:about="http://www.blogweb.co.kr/scot/tag/web"> <scot:name>web</scot:name> <scot:ownAFrequency>15</scot:ownAFrequency> <scot:ownRFrequency>50.00</scot:ownRFrequency> <scot:cooccursIn rdf:nodeID="Cooccurrence_d5abc1bc3d48eab9ba96ff1707ea47f6"/> <scot:aggregatesTag rdf:resource="http://int.ere.st/data/scot/65/tagging/827/tag/web"/> </scot:Tag> </scot:contains>
<scot:Cooccurrence rdf:nodeID="Cooccurrence_d5abc1bc3d48eab9ba96ff1707ea47f6"> <scot:cooccurAFrequency>15</scot:cooccurAFrequency> <scot:cooccurRFrequency>0.12</scot:cooccurRFrequency> <scot:cooccurTag rdf:resource="http://www.blogweb.co.kr/tag/blog"/> <scot:cooccurTag rdf:resource="http://www.blogweb.co.kr/tag/web"/> </scot:Cooccurrence>
SCOT has a number of properties to represent social tagging activities and relationships among elements occurring in an online community. However, this ontology aims to incorporate and reuse existing vocabularies as much as possible in order to avoid redundancies and to enable the use of richer metadata descriptions for specific domains. For this purpose, we reuse some classes and properties from existing RDF vocabularies such as DC, FOAF, SIOC, SKOS, etc.
There are several ontological models for representing, identifying and formalizing a conceptualization of the activity of tagging at a semantic level. These approaches are a good starting point to define a tagging model.
SCOT addresses these problems and offers expressivity and scalability to describe tagging activities, while revising conceptualisation that is already avaiable. For instance, in order to define a meaning of a certain tag, SCOT uses MOAT.
Dublin Core provides a basic set of properties and types for annotating documents. In SCOT, we use the properties dc:title
for the title of a tag cloud, dc:description
to give a summary of the scot:Tagcloud
, dc:publisher
to define what system is generating the tag cloud, dc:creator
to link to the person who created this set of tags. dcterms:created
, from the Dublin Core refinements vocabulary, is used to define when a TagCloud was first created.
FOAF specifies the most important features related to people acting in online communities. The vocabulary allows us to specify properties about people commonly appearing on personal homepages, and to describe links between people who know each other. foaf:Person
is used to define the creator of a particular TagCloud. foaf:Group
can be used to define a group of people who have created a group TagCloud.
SIOC provides the main concepts and properties required to describe information from online communities (e.g., message boards, wikis, weblogs, etc.) on the Semantic Web. In the context of SCOT, sioc:Usergroup
can be used to represent a set of sioc:User(s)
who have created the tags contained within a particular group TagCloud. A TagCloud is also a type of sioc:Container
, in that it contains a set of Tags (subclass of sioc:Item
).
SKOS provides specifications and standards to support the use of Simple Knowledge Organization Systems such as thesauri, classification schemes, subject heading lists, taxonomies, other types of controlled vocabulary, as well as terminologies and glossaries. Tag is a subclass of skos:Concept
, and a number of SKOS properties are used to define the relationships between tags: broader, narrower, etc.
An alphabetical index of SCOT terms, by class (concepts) and by property (relationships, attributes), are given below. All the terms are hyperlinked to their detailed description for quick reference.
Classes: | Cooccurrence | Tag | Tagcloud |
Properties: | acronym | aggregated_tag | associated_by | composed_of | contained_in | contains | cooccur_afrequency | cooccur_rfrequency | cooccurs_in | cooccurs_with | created_by | delimited | has_tag | has_usergroup | hypenated | last_used | own_afrequency | own_rfrequency | plural | singular | slashed | spaced | spelling_variant | synonym | tag_of | tagging_account | tagging_activity | tagspace | total_cooccur_frequency | total_cooccur_tags | total_items | total_tag_frequency | total_tags | underscored | updated | used_by |
Cooccurrence - More than two tags are assigned to one resource. This class defines cooccurring tags and the cooccurring frequency between the tags
in-range-of: | scot:cooccurs_in |
---|---|
in-domain-of: | scot:cooccurs_with scot:cooccur_afrequency scot:cooccur_rfrequency |
Tag - A free-text keyword which is used to annotate a resource
Tagcloud - Tagcloud consists of metadata related to tagging activities connecting to the basic components such as users, tags, resources.
acronym - An abbreviation formed by the first letters of the compound word.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:spelling_variant |
Domain: | scot:Tag |
Range: | scot:Tag |
aggregated tag - A tag in tags:Tagging is collected to scot:Tag.
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tag |
Range: | scot:Tag |
associated by - An agent who makes a synonym relationship between the tags.
OWL Type: | DatatypeProperty |
---|---|
Domain: | rdf:Statement |
Range: | foaf:Agent |
composed of - A SCOT Tagcloud that is part of this Tagcloud(especially one Tagcloud in a group SCOT Tagcloud).
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | scot:Tagcloud |
contained in - An aggregated tag is contained in a tagcloud.
Inverse: | scot:contains |
---|---|
OWL Type: | ObjectProperty |
Domain: | scot:Tag |
Range: | scot:Tagcloud |
contains - The relationship between a tagcloud and a tag. The object is a tag which is aggregated from a tagging instance.
Inverse: | scot:contained_in |
---|---|
OWL Type: | ObjectProperty |
Domain: | scot:Tagcloud |
Range: | scot:Tag |
cooccur absolute frequency - An absolute frequency of a particular cooccurring set of tags.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Cooccurrence |
Range: | xsd:float |
cooccur absolute frequency - A percentage frequency of cooccurring set of tags relative to the sum of frequencies of cooccurrence.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Cooccurrence |
Range: | xsd:float |
cooccurs in - This property is used to represent relations among two or more tags.
Inverse: | scot:cooccured_with |
---|---|
OWL Type: | ObjectProperty |
Domain: | scot:Tag |
Range: | scot:Cooccurrence |
cooccurs with - This property is used to represent relations among two or more tags.
Inverse: | scot:cooccurs_in |
---|---|
OWL Type: | ObjectProperty |
Domain: | scot:Cooccurrence |
Range: | scot:Tag |
created by - Indicates that an agent as type of a foaf:Agent, who generates a Tagcloud.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | foaf:maker |
Domain: | scot:Tagcloud |
Range: | foaf:Agent |
delimited - A type of phrase in which each word is separated by a certain character.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:spelling_variant |
Domain: | scot:Tag |
Range: | scot:Tag |
has tag - An item has one and more tags.
Inverse: | scot:tag_of |
---|---|
OWL Type: | ObjectProperty |
sub-property-of: | sioc:topic |
Domain: | sioc:Item |
Range: | scot:Tag |
has usergroup - The Usergroup that this Tagcloud is associated with.
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | sioc:Usergroup |
hypenated - A type of phrase in which each word is separated by a hyphen.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:delimited |
Domain: | scot:Tag |
Range: | scot:Tag |
last used - A last date on which a particular tag is used .
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tag |
Range: | xsd:dateTime |
own absolute frequency - An absolute frequency of a particular tag in a Tagcloud.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tag |
Range: | xsd:float |
own relative frequency - A percentage frequency of a tag for a particular Tagcloud relative to the total of all Tag frequencies in that Tagcloud..
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tag |
Range: | xsd:float |
plural - Refers to more than one thing.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:spelling_variant |
Domain: | scot:Tag |
Range: | scot:Tag |
singular - Refers to one thing.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:spelling_variant |
Domain: | scot:Tag |
Range: | scot:Tag |
slashed - A type of phrase in which each word is separated by a slash.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:delimited |
Domain: | scot:Tag |
Range: | scot:Tag |
spaced - A type of phrase in which each piece of word is separated by a space.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:delimited |
Domain: | scot:Tag |
Range: | scot:Tag |
spelling variant - A variation in the way in which a word is spelled.
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tag |
Range: | scot:Tag |
synonym - Word which means the same as another word.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | http://www.holygoat.co.uk/owl/redwood/0.1/tags/:equivalentTag |
Domain: | scot:Tag |
Range: | scot:Tag |
tag of - Indicates that a tag is assigned to the sioc:Item.
Inverse: | scot:has_tag |
---|---|
OWL Type: | ObjectProperty |
sub-property-of: | http://www.holygoat.co.uk/owl/redwood/0.1/tags/:isTagOf |
Domain: | scot:Tag |
Range: | sioc:Item |
tagging account - The relationship between an agent and an account held by this agent.
OWL Type: | ObjectProperty |
---|---|
Domain: | http://www.holygoat.co.uk/owl/redwood/0.1/tags/:Tagging |
Range: | foaf:OnlineAccount |
tagging activity - The relationship between a tagcloud and a tagging. Note that a tagcloud allows us to contain one or more tagging instances.
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | http://www.holygoat.co.uk/owl/redwood/0.1/tags/:Tagging |
tag space - The environment where the tagging happens.
OWL Type: | ObjectProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | sioc:Site |
total cooccur frequency - A number of total frequency for all cooccurring tag sets in a Tagcloud
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:float |
total cooccur tags - The total number of cooccuring tags in a Tagcloud.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:float |
total items - A number of posted items with an associated Tagcloud.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:float |
total tag frequency - A number of total frequency for all Tags in a Tagcloud.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:float |
total tags - The total number of Tags in a Tagcloud.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:float |
underscored - A type of pharse in which each word is separated by an underscore.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | scot:delimited |
Domain: | scot:Tag |
Range: | scot:Tag |
updated date - Date on which a Tagcloud is updated.
OWL Type: | DatatypeProperty |
---|---|
Domain: | scot:Tagcloud |
Range: | xsd:dateTime |
used by - Refers to the sioc:User who uses or creates a tag.
OWL Type: | ObjectProperty |
---|---|
sub-property-of: | sioc:has_creator |
Domain: | scot:Tag |
Range: | sioc:User |
Classes and properties from other ontologies can be used together with SCOT. During the SCOT ontology design process, some external classes and properties were identified that are suitable for reuse. Such concepts are not included inside SCOT but are used directly together with terms from SCOT to describe tagging activities.
This section lists the most important external classes and properties that can be used with SCOT in a meaningful way. This list is not and cannot be exhaustive because many RDF ontologies can be used together.
We would like to acknowledge the contributions of Alexandre Passant, David Hambly, Albert Au Yeung, Dan Brickley, Richard Cyganiak, and Jan Torben Heuer towards this specification. We would also like to acknowledge the many helpful suggestions from members of the SCOT developers' mailing list, and we thank Uldis Bojars for the SpecGen4 which was used in the creation of this specification.