The easy Weblog and Wiki Software
[ start | index | login ]
start > Label

Label

Created by funzel. Last edited by hp_, one year and 267 days ago. Viewed 11,250 times. #22
[diff] [history] [edit] [rdf]
labels
Parent:FAQ
Category:snipsnap-documentation
Category:test category
Category:FAQ
attachments
1.png (37372)
A Label has a type, a name and a value and can be added to snips. A snip can have several labels. Snips can be found and displayed by label.

1

Ideas for types are:

  • author
  • source
  • from (since when the snip should be seen)
  • to (until when the snip should be seen)
  • contact (snip contains contact information)
  • calendar (snip should be placed in calendar at given date), see Calendaring
  • category (snip contains information of category, e.g. "Java", "XML")
  • type (type of snip, e.g. "person", "idea", "thing")
  • weblog_category snip is category e.g. "Personal" or "Technology"
Comment: I don't know right now. Perhaps labels are linked to a snip and edited on their own. Or they might be added to the snip like
\{@type:person\}
\{@category:Java\}
Or a combination of both.

Discussion about wiki pages as weblogs (perhaps with labels):

Concept was partially used in solent.

Several other packages employ this concept:

(Default) Label types

Perhaps someone can fill out the table.
label typedescription/intensionexamples
TaxonomyLabelused to build taxonmy trees and make them with a macro browseable like yahoo.Language->OO->Java
RenderEngineunknown 
Booleanunknown 
CategoryLabelconfusingly similar to TaxonomyLabel 
SnipLabelcreates a snip linkif the label's name is "foo" and its link target (snip) is "bar", the labels box will include a line with "foo bar". This snip (Label) has a SnipLabel with name="Projektleiter" and link target="stephan".
TypeLabelused to define CategoryLabel (see Category) 

How to search for all snips having a given label?

see label-search

Icon-Comment pmode, 5 years and 304 days ago. Icon-Permalink

Are the labels linked with the entry? or will we have a special markup in the text to indicate "well, this is a book"?

Icon-Comment funzel, 5 years and 304 days ago. Icon-Permalink

I don't know right now. Perhaps labels are linked to a snip and edited on their own. Or they might be added to the snip like
{@type:person}
{@category:Java}
Or a combination of both.

Icon-Comment pmode, 5 years and 304 days ago. Icon-Permalink

oh, i thought you try things like: snipXY Well this is my cool snip. I've found a cool book $categorize: book {isbn=925679832}$SnipXY in 21 days$categorize$

Icon-Comment pmode, 5 years and 297 days ago. Icon-Permalink

funzel, can you explain the difference between category and type a bit more? Now it looks for me in this way: type = is-a relation of snips (like generalization/specialization in OO). Is the category a collection of the main facts of the snip? probably its then more a keyword collection then a category. Category are high-level concepts/classes which doesn't change often.

Icon-Comment funzel, 5 years and 293 days ago. Icon-Permalink

Yes, type is some kind of ISA relationship. Category sorts a snip into a taxonomy of "knowledge". So a snip can be sorted in "Languages->OO->Java" and "Database->API->JDBC" when explaining how to write a JDBC driver. The categories need not be part of the content and can contain higher concepts like "project management", "software development process".

Icon-Comment jploudre, 5 years and 121 days ago. Icon-Permalink

It seems to me that labels can function as categories for organization of different blogs or wikis. This is an area that snipsnap breaks down -- you can't organize info into subtopics.

Icon-Comment fredguth, 5 years and 112 days ago. Icon-Permalink

Do you have any idea of when will you be able to release a version of SnipSnap with this Label feature?

Icon-Comment funzel, 5 years and 111 days ago. Icon-Permalink

Right now it goes like this:
  1. Label needs some GUI work wich we do not wan't to do in JSP, so use WebWork
  2. The WebWork guys want to help if we have WAR, so we do WAR
  3. The WAR support is tricky
Bottom line: I guess less than a month because if the chain takes to long we cut this. The Labels work but there is no GUI yet.

Icon-Comment schwabe, 5 years and 105 days ago. Icon-Permalink

@funzel - in what way do labels work, even w/o GUI?

Another idea (but more complex): Since we are moving (perhaps very slowly) to the semantic web, why not let labels work as in RDF an RDFS?

Icon-Comment funzel, 5 years and 104 days ago. Icon-Permalink

@schwabe: Well labels work like RDF and RDFS. Labels are just attributes and relationships. Some students here work on serializing snips and labels as DAML+OIL or RDFS.

Icon-Comment schwabe, 5 years and 104 days ago. Icon-Permalink

@funzel: Great, it seemed like this could be done. But I still don't know how to work with labels, besides attributing new labels to a snip… is there some kind of documentation, or at least an example somewhere? Thanks!

Icon-Comment funzel, 5 years and 104 days ago. Icon-Permalink

No, sorry not yet. We're only at the beginning,

Icon-Comment chicao, 5 years and 104 days ago. Icon-Permalink

I took a look at the Labels class. It seems that you serialize label values as an integer. Shouldn't it be a String (to store urls, for example?)

Do you think it would be interesting if we could create a 'directory' macro that categorizes snips based on its labels (i.e type)?

Icon-Comment fredguth, 5 years and 104 days ago. Icon-Permalink

@chicao: That would be nice, but you will need an interface for setting a label to a snip, even if it is not a graphical one. Something like {@type:person} as it was suggested.

Icon-Comment omoikane, 5 years and 104 days ago. Icon-Permalink

@funzel I wonder why you want to use webwork instead of Struts. On the long run Struts is the better framework.

Icon-Comment funzel, 5 years and 103 days ago. Icon-Permalink

I don't like Struts for various reasons. We would like to use WebWork because people from the WebWork community provide help (do the conversion). I did not hear from the Struts community :-) If I would be free with my choice I would choose Tapestry because all the other frameworks are rather low level.

@chicao: label support is not finished. In the predecessor of SnipSnap we had a "Category" label with hierarchical content ("Language -> OOP -> Java") and built a Yahoo like tree for snips according to their category. You could browse snips then by navigating the category tree.

Icon-Comment photek, 5 years and 49 days ago. Icon-Permalink

@funzel I presume that your taxonomy system is of the >>facetted classification ilk.

Icon-Comment funzel, 5 years and 48 days ago. Icon-Permalink

Yes. We combine categories like Java+Oracle which is different from Java, Oracle. For example you categorize the skill set of a developer. Java+Oracle means someone who know how to do Java with Oracle, 'Java,Oracle' means someone who knows Oracle and knows Java.

Icon-Comment castagna, 4 years and 341 days ago. Icon-Permalink

I hope this is a great idea, but I've some questions about it:
  • Wouldn't be better to allow the user to define his RDF properties and class?
  • Why calling this Label and not Property?
  • Label == RDF Literal?

Icon-Comment funzel, 4 years and 341 days ago. Icon-Permalink

  • Label roughtly== RDF Literal
  • We use label because this makes it easier to many users to understand the concept. We sometimes use the term postit note. RDF property or attribute or relationship is not very useful to ordinary users
  • The RDF serializer of SnipSnap serializes snips and labels to classes and properties I think

Icon-Comment phobia, 4 years and 315 days ago. Icon-Permalink

Is the label API complete? I'm annoyed by the listProxy properties returning HTML table fragments. Ew.

Icon-Comment jsellison, 4 years and 282 days ago. Icon-Permalink

Is the label feature available in a current release yet? I would love to being using SnipSnap with this feature instead of going back and re-labeling old snips at some point in the future.

Icon-Comment funzel, 4 years and 281 days ago. Icon-Permalink

@phobia: listProxy currently returns HTML fragments which can be used to display labels in a list (table) enviroment. This is part of the Visual Proxy pattern (go google :-)

@jsellison: no, only in CVS and this is for playing around only as blogging does not work.

Icon-Comment phobia, 4 years and 279 days ago. Icon-Permalink

@funzel: I don't mind the Visual Proxy pattern, but table cell fragments? Not only can I not use the listProxy output for, well, a real list… but I can't add CSS to them because they have no class or id!

Besides, haven't you heard HTML tables are unfashionable? ;-)

I propose a more precisely named htmlProxy that returns a "standalone" HTML fragment that can be rendered within a table, or list, or alone.

Icon-Comment funzel, 4 years and 278 days ago. Icon-Permalink

  • Another solution for a HTML Visual Proxy pattern
  • HTML tables are unfashionable … except for tables!
  • Yes they get a CSS
  • Well, with Swing and Visual Proxy you get fragments of Swing which need some panels to display (enviroment), so this Visual Proxy needs some tags (<table>) to display (enviroment).

Icon-Comment phobia, 4 years and 277 days ago. Icon-Permalink

What's the real benefit of having every listProxy implementation return <td>...</td> instead of having the display code wrap it?

HTML tables are unfashionable for lists ;-)

Icon-Comment janit0r, 4 years and 277 days ago. Icon-Permalink

@funzel: I can see the desire to table data that will always exist in pairs, but I'd still prefer to see the markup of that data performed elsewhere, allowing other tagging options for the output to be easier, perhaps the table isn't always going to be proper.

Must the label exist as name:value? Is it possible to create and add a label that doesn't have a value to a Snip to define a property, for the sake of referencing all Snips containing that label? If so, table output ceases to seem appropriate.

Icon-Comment funzel, 4 years and 274 days ago. Icon-Permalink

Well, you can leave the second cell empty, can't you?

And what other way would there be? This way a label can decide how to display itself as a text, an image, a calendar, a link, an animation, whatever.

The name:value is the common denominator for labels. Values can be structured and contain more than one 'value'. But we're as always open to suggestions, but they should work.

Icon-Comment phobia, 4 years and 274 days ago. Icon-Permalink

I'm dropping my protest of the HTML table fragment nature of listProxy, but I think that other "standard" visual proxies need to be added to the base class and default implementation. As it stands, listProxy appears as the "authoritative" proxy. My objection is founded on a belief that a more generic repreentation should be provided by all labels. Probably just a stringProxy?

Also, since the behavior of most labels seems to be name/value couples, should there be proxies for name and value independantly, or is it appropriate to expect there will always be valid String getters for each as properties?

Icon-Comment phobia, 4 years and 274 days ago. Icon-Permalink

As I understand is, labels map to RDF such that snip/labelName/value is subject/predicate/object. If this is correct, then wouldn't it be appropriate for labels to have an RDF predicate property for serialization to RDF?

Icon-Comment senikk, 4 years and 263 days ago. Icon-Permalink

Would the {search} macro be extended to also making it possible searching for labels?

I think it also should be possible to use a ListFormatter with the {search} macro. Does this exists already?

I would also like to have the possibility to extend the user list macros like {logins} and {list-of-users} with a jabber image with the jabberID as title attribute (linking it to the users jabber client if thats possible right now) using lets say {@jabberID:userid@jabber.org} label from the users snip.

Is the labels going to be indexed so that you can use something like getLabel("senikk","jabberID") instead of load("senikk").getLabels().getLabel("jabberID") ?

Icon-Comment funzel, 4 years and 260 days ago. Icon-Permalink

  • @senikk: Yes. This works already I think in CVS. {search} can be used with a ListFormatter.
  • Well you could add a JabberID label to user snips. You have to rewrite the macros as they have no extension points.
  • I don't know. There will be some kind of index for labels, but I don't know if they include the snip name, probably you will have to get all JabberID labels and then find the one for senikk.

Icon-Comment phobia, 4 years and 260 days ago. Icon-Permalink

I want the addition (or modification) of some labels (e.g. ICBM address) to cause an "event" (e.g. ping geourl.org). Has anyone else thought about how to implement this?

Icon-Comment senikk, 4 years and 259 days ago. Icon-Permalink

I think my SmackBot also need such an event for the {@jabberID} label.

Icon-Comment funzel, 4 years and 259 days ago. Icon-Permalink

Well you could add an interceptor to Snip or easier to SnipStorage.

We also plan to notify (life-cycle) labels if they get created, changed or removed.

Icon-Comment phobia, 4 years and 258 days ago. Icon-Permalink

@funzel: excellent! Is this "Label Events" API planned for the mysterious 1.0?

Icon-Comment campanini, 4 years and 237 days ago. Icon-Permalink

I think that you can insert a way to create relations between pages (resources) very simple and powerful. Very similar to the square brackets [...] method for links, you can declare relations as the follow example:

Imagine you are writing a wiki page and in place of a significative word ,for instance the word "house", you can write this:
[house -> contain ->room]
So, like the use of " [...]" for links, if pages exists are linked otherwise it propose to create them.
This contents can be easily translated to RDF triples. Your wiki can became a "shortcut" to collect and create knowledge in a free RDF way.

There is one limit: "Only one triple for a word in one page" but we can think solutions easily....

Sorry for my bad English. Bye Stefano Campanini

Icon-Comment phobia, 4 years and 237 days ago. Icon-Permalink

A macro that parses [->author->hans] and adds a sniplink named "author" label to the snip "hans" would make this possible within the current architecture.

Icon-Comment karlcow, 3 years and 333 days ago. Icon-Permalink

Two references that might be useful for this discussion

Diamond Wiki which is a Faceted Wiki in Python initially developped at Kim's website and now the source code has been developped by Karl Dubost and Olivier Meunier.

>>http://cvs.neokraft.net/viewcvs.cgi/diamond-wiki/

The other reference is the Weblog/wiki: The Tao of the mac which is available at >>http://the.taoofmac.com/space/ and makes an intensive use of categories and labels.

Icon-Comment germuska, 3 years and 330 days ago. Icon-Permalink

Is the use of the colon character (:) as a label delimiter in wiki links still part of the plan? It seems that labels have been implemented using UI interface instead, but the Radeox LinkTestFilter class still trims all text preceding a ":" in a snip title.

Icon-Comment carsten, 3 years and 327 days ago. Icon-Permalink

Hm, although my installation is still messed up, there is another bug:

I can't associate any labels. The labels I created in 0.5.1a are still valid and assigned to the snips, but when I click "Add Label" to a new snip,there is only a page with buttons next/cancel but no combobox to choose a label type. And the 2nd step just brings up an empty page… :-(

Icon-Comment piccolbo, 3 years and 226 days ago. Icon-Permalink

I am using (trying to) version 1.0b1 and I can't create one label one. I followed the example in >>http://snipsnap.org/space/Misc+FAQ without understanding it. Why do I have to create ad hoc snips to get the label machinery going?Every snip I create is child of start and not of phylum as required by the example. (as an aside I am using movable type instead which compared to SnipSnap sucks big time, but I need labels or categories or metadata or whatever you want to call it)

@funzel your explanation of types versus categories sounds terse to me. I get it that every snip can be associated to any number of name value pairs. Then, and please correct me if I am wrong, names belong to categories which are meant to implement an IS-A relation (name is a category-element). Here my understanding ends because and IS-A relation should be allowed any depth, but a category can't have a category. The example in MISC-FAQ doesn't help because it makes phylum into a category and class into a label, but this is not an isa relation and there is not provision to set phylum=crustacea whereas one can set class = mammalia (if that's a class, I am not a biologist). And above phylum there is kingdom, but I am not sure how one can define a category including phylum which is a category. Are you confused as I am? Sorry if I went too long.

Icon-Comment piccolbo, 3 years and 226 days ago. Icon-Permalink

I am using (trying to) version 1.0b1 and I can't create one label one. I followed the example in >>http://snipsnap.org/space/Misc+FAQ without understanding it. Why do I have to create ad hoc snips to get the label machinery going?Every snip I create is child of start and not of phylum as required by the example. (as an aside I am using movable type instead which compared to SnipSnap sucks big time, but I need labels or categories or metadata or whatever you want to call it)

@funzel your explanation of types versus categories sounds terse to me. I get it that every snip can be associated to any number of name value pairs. Then, and please correct me if I am wrong, names belong to categories which are meant to implement an IS-A relation (name is a category-element). Here my understanding ends because and IS-A relation should be allowed any depth, but a category can't have a category. The example in MISC-FAQ doesn't help because it makes phylum into a category and class into a label, but this is not an isa relation and there is not provision to set phylum=crustacea whereas one can set class = mammalia (if that's a class, I am not a biologist). And above phylum there is kingdom, but I am not sure how one can define a category including phylum which is a category. Are you confused as I am? Sorry if I went too long.

Icon-Comment trejkaz, 3 years and 149 days ago. Icon-Permalink

edited comment out

Just a reminder for folks who have Java 1.5 installed on their desktop and Java 1.4 on the server… remember to use -source 1.4 -target 1.4 when compiling SnipSnap extensions. :-)

Icon-Comment sharkey, 3 years and 71 days ago. Icon-Permalink

Since labels are implemented in 1.0b1, could you please document how they work here?

This comment is not very helpful: "I don't know right now. Perhaps labels are linked to a snip and edited on their own."

Icon-Comment joelemaltais, 3 years and 65 days ago. Icon-Permalink

Hi,

Is there any serious documentation, paper/s, roadmap for the label/tag implementation anywhere?

could anyone point out a reference implementation, if available, or approches - for doing and rendering a navigation using namespaces and labels? (In buzzlanguage they also call it faceted navigation / automagical navigation) I'd like any information or starting points for the

  • label api
    • if anybody did it/ thought about it already : clustering algorithm used (simple, hierarchical, SOM). Where do I hook in?
    • if anybody did it/ thought about it already : visualization model for tag/label-clusters (I'm only interested in 2 dimensional visualization)
Is the label metadata separated from the content in the database and can I outsource the metadata/labels data somewhere, chew it, and retrieve that data back?

I actually would like to configure the label input field to be able to enter multilingual labels for same topic. I find nothing on that subject.

I further would like to build in

  • autosuggestion of labels already present in the database
  • sychronization of labels and label-clusters between several wikis (entailing implementation of distributional clustering)
Approaches, hints and more :) would be heartily appreciated

cheers

jlm

Icon-Comment phobia, 3 years and 65 days ago. Icon-Permalink

I'm afraid right now the only real documentation for labels is the Javadoc itself. If you could be more specific, maybe I could help you find relevant APIs.

Labels are stored "with" the content, but snip metadata (including, among other things, label values) are distinct from snip content in the SnipStore implementations I'm familiar with. You should stick with the Java APIs for accessing label data, though, or

  • a running instance of SnipSnap will overwrite your changes
  • your code will not work with e.g. FileStore
Modification of the input field (e.g. for multilingual input) is quite simple. You simply need to implement your own Label class with getInputProxy.

Autosuggestion would also be possible, I'd consider the category label included in the core as a good example of a label that scans the snipspace for existing labels on input.

Synchronization is a system-wide need. I know there are some folks working on snipspace syncing.

Icon-Comment joelemaltais, 3 years and 64 days ago. Icon-Permalink

Hi

thanks for feedback :)

I cant really be more specific since I'm not yet sure of the way things are moving here (eg. precise spec for labels) or what works and what doesn't (eg. Taxonomylabel function or it's interface - is it implemented? where is the spec? Is it really just the snippets - subsnippet - subsubsnippet path? than that would be total misuse of the term)

More info on those topics and the roadmap for taxonomy interchange / interchange formats in general is a prerequisite for further discussion.

OK I'll try and locate Java APIs for accessing label data. I'll also look into possibilities of custom implementation of Label class with getInputProxy.

However what I'm after will require interchange specs. I put up a vague discussion draft here: interoparable taxonomies. feel free to modify.

cheers

jlm :)

Please login to post a comment.

What is SnipSnap?
SnipSnap is a free and easy to install weblog and wiki tool written in Java.

SnipSnap download
Current version: 1.0b3-uttoxeter
Try our >>Web Start Demo!

Resources

5567 Users and 13710 Snips. Installed 5 years and 311 days ago

Logged in Users: (2)
… and 12 Guests.

snipsnap-changed for older changes.

< May 2008 >
SunMonTueWedThuFriSat
123
45678910
11121314151617
18192021222324
25262728293031

snipsnap
Listed on BlogShares
XHTML 1.0 validated
CSS validated
RSS 2.0 validated
RSS Feed

pico-powered

Powered by SnipSnap 1.0b3-uttoxeter
YourKit >>Java Profiler

Fraunhofer FIRST

snipsnap.org | Copyright 2000-2006 Fraunhofer FIRST