Tags (labels, topics) are a popular way to organize knowledge using social classification (tagging) processes and producing so-called folksonomies
This spec is simple enough, so we put all parts (data model, spec and API) in this page.
Effort allocation from RS Plan 3.6:
- Tags spec: 3 p/d
- Tags backend: 5
- Tags frontend: 8
Tags in RS come from two places:
- General thesauri.
Any thesaurus with rso:isTag=1 (marked as "t" in Meta-Thesaurus and FR Names#Meta-thesaurus table) can be used as a source of tags
- Dedicated thesaurus.
A special RS Tags thesaurus (http://www.researchspace.org/thesaurus/tag). New tags are added here
Tags can be applied to the following RS entities (compare with Data Basket Model#Item Types):
- Data Annotation
- Forum/Topic/Post (new in RS3.6)
- Image (no UI to show a single image yet)
- Image Annotation
- class Tag as a subclass of skos:Concept. (This is perfect: when a skos:Concept is applied as a tag, it becomes tags:Tag.)
- two inverse properties (taggedWithTag and isTagOf) to relate any resource to a tag
The Tags ontology is depicted here:
- We don't use tags:Tagging, i.e. don't record who/when added a tag
- There is no ordering of the tags applied to an object
Here is an example that relates ?obj to Rembrandt, and to a user-created tag named "Watercolor".
Modeled after Yammer (with some simplifications):
Because of the limited effort in RS3.6, some viable cases are listed under Future Use Cases.
TODO: make mockups!
- Every entity type should use the same Tags section
Where to put this for Object? I guess on top?
- Tags are represented as "buttons" for easier recognition
- There's a red "x" after each tag to delete it
- There's an empty box at the end of the tag list.
When the user starts typing, RS does autocompletion against all tag thesauri.
If the user doesn't select from the autocomplete box and presses Add, a new tag is added to the Tags thesaurus (so it's easy for any user to add new tags)
(eg Object search results list, Bookmarks list ...)
- It's best to use the same Tags section as above
- Or do we want some "lighter-weight" version of it?
- In particular, do we want the user to be able to add/delete tags from here?
- Clicking on a tag runs a search by that Tag, for that entity kind only
- In the Search dialog for every entity kind, there's a Tags section to add tags to the search
- Where to put this in object (FR) search?
- Universal search (of any kind of object) by tag
- Apply/create tag using twitter notation in rich-text: #tag
- Tags maintenance (of the dedicated thesaurus)
- Rename tag
- Merge two tags
- Per project Tag sets
- Tag cloud, in one of the following forms: