2010-10-06 3 views
3

J'ai toujours vu les tags comme complètement différents du modèle de hiérarchie de dossiers normal. Je construis un système qui nécessite un marquage pour marquer des ensembles de données. Nous avons eu le design db tout a fonctionné, (modèle assez simple) mais un débat a surgi autour de la valeur de toujours avoir des concepts de hiérarchies dans un monde d'étiquettes. Sur les SOF, à titre d'exemple, le seul équivalent, je vois une partie de cela en utilisant - dans certains noms de tag comme le tagging; Il n'y a donc pas de relation inhérente modélisée (juste une convention de nommage). Y a-t-il une sagesse conventionnelle des meilleures pratiques sur comment et si les hiérarchies devraient exister dans un monde de marquage?Le marquage doit-il avoir des hiérarchies?

Répondre

3

J'ai développé un portail qui impliquait des balises hiérarchiques. Je peux vous assurer que c'est un gâchis à gérer :)

Ma solution s'est ensuite déplacée vers une approche hybride dans laquelle les balises peuvent être autonomes ou bien contrôlées, mais elles résident dans deux espaces de noms différents.

Ceci parce que certaines peuvent être considérés comme des enfants de parents d'autres balises tandis que d'autres ne peuvent pas, donc par exemple étiquette dialog est un concept qui est également indépendente de jquery donc un contenu avec les balises jquery dialog a implicitement la relation nécessaire.

Hiérarchique devrait être utilisé pour exprimer une sorte d'héritage entre les concepts, par exemple. collections -> trees, lists, maps dans lequel une étiquette trees peut être efficacement incluse à l'intérieur d'une étiquette collections. Dans votre exemple, dialog et jquery sont orthogonaux et incomparables, donc cela n'a aucun sens de faire un enfant d'un autre.

2

Les noms "jquery", "jquery-ui", "jquery-ui-dialog" ne sont pas des balises, mais l'équivalent de chemins de structure de fichiers, hiérarchique par nature.

Si vos données sont faciles à catégoriser avec autorité, présentez-les sous forme d'arborescence. Si les utilisateurs ne voient que quelques-uns de leurs propres tags (comme dans Gmail), vous pouvez permettre de trier et d'imbriquer la liste de tags et de sauvegarder cette structure par utilisateur, indépendamment des tags eux-mêmes. S'il existe un grand nombre de balises avec répartition du contenu (par exemple, si 10% des balises décrivent 90% du contenu), un nuage de balises peut vous aider.

En résumé, cela dépend des données.

0

Les hiérarchies ont en général un inconvénient par rapport aux ensembles. Pensez aux signets et tag-bundles like delicious.com. je préfère rechercher un ensemble en utilisant sport et newer-than-1-week et (english-language ou chinese-language) et non (soccer ou boxing).

Questions connexes