Tummarello's conjecture: thou shall not visualize RDF nor EDIT it with an RDF configuration. Thou shall instead look into extending velocity or some other 100man years stable template engine with simple RDF querying and inheritance mechanisms.
live happy Giovanni On Mon, Jun 23, 2008 at 4:56 PM, Leo Sauermann <[EMAIL PROTECTED]> wrote: > It was Story Henry who said at the right time 23.06.2008 11:56 the following > words: > > thanks for the feedback Leo. I have spent some time studying the specs for > fresnel over the weekend. So my understanding is a little theoretical for > the moment as I have not seen some full examples of it in use, especially > with the fredit editor componenent you suggested. So don't hesitate to > correct me. > > One question that came up, was concerning namespaces in fresnel selectors. I > posted my questions on #swig here > http://swig.xmlhack.com/2008/06/21/2008-06-21.html > > I see that lena uses fslns to solve the namespace problem (fresnel > namespaces) > http://simile.mit.edu/2006/01/ontologies/fsl-ns# > > > > > > I don't have an example of how your pimoeditor looks like that you build > from the relations listed in your answer, so I may be wrong, but I think > there is something missing that I need. > > Best attach a picture again to illustrate. This is the editor component of > the Address Book as it is currently (I don't have a way to edit addresses > yet) > > > ________________________________ > > > (btw, there is a bug in my code there as some relations appear twice) > > > The main component ( we could think of it as being similar to a > fresnel:ContainerBox ), > > yes, containerbox would be a good mapping (= given that we aim for > sub-resources later) > > contains a number of relations, grouped together by the similarity of the > type of the domain of the relation. Above we have 4 groups: > > - a group of owl:sameAs and rdfs:seeAlso relationships > - a group for edititing birtdays (could also add wedding dates there) > - a group for phone numbers > - a group for relations to web pages > > > When the user wants to add a new phone number, he just needs to click the > green plus button. > that will add a new combo box, where he will be able to choose the relation > the foaf:Person has to that phone number, and edit the phone number itself. > > I would guess that this depends on how your editor is implemented, other > editors may not show the "choose relation" combo and just render "edit the > phone number HERE:"... but thats details. > > Also the user of the address book, may decide that what was listed as a fax > number was in fact a phone number. So he can change the relation of TimBL to > the number by selecting the correct relation in the combo box. > > this would be nice, I guess thats the normal MacOs addressbook behavior > (right?). > sure, you can implement it like this, if the users are used to it - should > be possible to realize it. > > So in the edit mode we don't just have a simple property box, we have a > property box with a number of selectable relations on it. > > So I have two additional things here I think when comparing it to the box > model of fresnel described at > http://www.w3.org/2005/04/fresnel-info/manual/#csshooking > > - a group editor > - a relation editor > > The relation editor somehow maps to the property rendering. But surely, as > editing is not defined in fresnel, the dropdown-box idea is not there. > The group editor is also missing in the fresnel model per-se, its not just > missing in the csshooking. > I do not see a way to "group" properties in fresnel, other than defining > multiple lenses and creating a new class "unionlens" that shows the grouped > lenses... > something along the lines of > :PersonAddressBookLens rdf:type fresnel:Lens ; > fresnel:classLensDomain bblfish:ContactEntry; > fresnel:purpose fresnel:defaultLens; > bblfish:groupSubLenses ( bblfish:SameAs, bblfish: birthdays, > bbhfish:numbers) . > > bblfish:numbers a fresnel:Lens ; > fresnel:showProperties ( foaf:phone, vcard:home ,...) > . > > > The following diagram makes this clearer > > ________________________________ > > > > (larger version at: > http://www.flickr.com/photos/bblfish/2603089811/sizes/l/ ) > > I may also need more flexibility in UI than fresnel provides. For example > with the Address Editor I don't want the relations to be displayed in the > same manner. Look at the Apple Address Book for example. The type of each > field in an address is described there inside the address editor itself. > This is because addresses tend to be very structured entities, and people > don't usually need to know the relation of each field. It is mostly obvious > what the street name and what the town is, and even when it is not, it is > rarely that interesting to a human. The mapping software will make use of > that perhaps, but a person browsing the information may not see the need for > it. > > you mean "not to show" the labels, such as: > * "Street 1: Downing Street 1" > * "Downing Street 1" <- by showing just that, its obvious that its the > street > > sounds good, but I would think that doing all these things is not possible > with a generic framework, > at the end you would end up hardcoding the gui :-) > > (( Just a thought: > So I wonder if fresnel should not leave the box mode to the appropriate > display format. For example, would it not be better to have a way to tie > relations to html fields, the way say Apache Wicket does things > http://wicket.apache.org/ . > > I can't find "the way to tie relations to html fields" in wicket. I only see > that their ComponentTags are independent widgets that are tied to values and > to value-types, but not to relations - where is this? > (ie somewhere around here? http://tinyurl.com/6au3ut) > > If it could be abstract enough that I could tie it to java components too > that would be very interesting... > )) > > if you have too many concrete requirements ("the things need to be grouped > by a,b,c, and if the property x is shown, in the combobox we need to show > x,y,") then the generic-component-orietnted programming is harder and > harder. > > > Having looked at my java code I have noticed that it is currently very > limited. I can only edit simple relations to literals. The way I linked > mapped objects and relations is not such a good idea I think when I need to > link objects to other objects, such as a person to an address. So I will > have to rewrite quite a lot of what I did, and so taking defining a lot of > this more semantically is still an serious option. I will consider this > next. > > point me to your code, I guess you have it svned somewhere. > before rewriting, I would consider looking at fresnel implementations, or > wicket, or gnogno. > > but I would guess, even better inspiration would be Adobe Air or Microsoft's > Silverlight, > for example silverlights way of binding data: > http://silverlight.net/learn/learnvideo.aspx?video=56926 > I couldn't find an equivalent for Air, but it should be somewhere here: > http://www.adobe.com/devnet/air/flex/quickstart/ > such as: > MXML - binding controls to data > http://livedocs.adobe.com/flex/3/html/help.html?content=mxml_2.html > > My point here is: > if you go for TRUE dynamic user interfaces, the engine (gnogno, fresnel, ) > should create a meta-model of the user interface first in a proper GUI > representation language, such as MXML or MicrosoftsSiverlight, with data > bindings and action bindings, and then let this be rendered.. > > But this is 1000man-year development effort, so at the end you and I are > much quicker by hacking the whole thing with a little fresnel and (if | then > | else | switch) hacks at teh right moment, or? > > any better ideas? > > best > Leo > > > > Please do correct me if I am wrong in any of the above, > > Henry Story > > > On 18 Jun 2008, at 12:15, Leo Sauermann wrote: > > The actual source N3 which I edit by hand is here: > http://www.semanticdesktop.org/ontologies/2008/05/23/fredit/fredit.n3 > > Let me give you the example from the pimoeditor (see > *http://tinyurl.com/58tu5v)* > :ThingLens rdf:type fresnel:Lens ; > fresnel:classLensDomain pimo:Thing; > fresnel:purpose fresnel:defaultLens; > fresnel:showProperties ( > nao:description > pimo:isRelated > pimo:hasTopic > pimo:isTopicOf > pimo:hasPart > pimo:partOf > fresnel:allProperties > pimo:groundingOccurrence > pimo:referencingOccurrence > ) > . > > In your case, it would be adapted to: > > @prefix uij: <urn:java:net.java.sommer.addressbook.ui.> . # not sure of java > uri > @prefix foaf: <http://xmlns.com/foaf/0.1/> . > @prefix ctct: <http://www.w3.org/2000/10/swap/pim/contact#> . > @prefix fredit: > <http://www.semanticdesktop.org/ontologies/2008/05/23/fredit#> . > @prefix fresnel: <http://www.w3.org/2004/09/fresnel#> . > > uij:EditableContentPanel a fresnel:Lens; > fresnel:showProperties ( > owl:sameAs > rdfs:seeAlso > foaf:birthday > foaf:homePage > foaf:work > foaf:weblog > foaf:workplaceHomepage > foaf:openid > [ rdf:type fresnel:PropertyDescription ; > fresnel:property ctct:hasAddress; # ctct:hasAddress made up now, I don't > know what is needed here > fresnel:sublens :ContactEditor ] > ). > uij:ContactEditor > fresnel:showProperties ( ctct:phone ctct:fax foaf:basedNear ctct:address) > . > > # now what you want and FREDIT gives you > uij:BirthdayFormat a fresnel:Format; > :valueWidget [ a fredit:DateFieldWidget ]; > fresnel:propertyFormatDomain foaf:birthday. > > > .... etc > > In my view, this epxresses exactly what you wanted, but based on fresnel and > fredit. > If you agree, I would appreciate us working together on > * on the FREDIT vocabulary > * hacking GnoGno to render Swing widgets that interpret FREDIT. (this is > optional, you already have your code and I understand if you don't want to > switch to gnogno...) > > ________________________________ > _______________________________________________ > people mailing list > [email protected] > http://lists.semanticdesktop.org/mailman/listinfo/people > > -- > ____________________________________________________ > DI Leo Sauermann http://www.dfki.de/~sauermann > > Deutsches Forschungszentrum fuer > Kuenstliche Intelligenz DFKI GmbH > Trippstadter Strasse 122 > P.O. Box 2080 Fon: +49 631 20575-116 > D-67663 Kaiserslautern Fax: +49 631 20575-102 > Germany Mail: [EMAIL PROTECTED] > > Geschaeftsfuehrung: > Prof.Dr.Dr.h.c.mult. Wolfgang Wahlster (Vorsitzender) > Dr. Walter Olthoff > Vorsitzender des Aufsichtsrats: > Prof. Dr. h.c. Hans A. Aukes > Amtsgericht Kaiserslautern, HRB 2313 > ____________________________________________________ > > _______________________________________________ > people mailing list > [email protected] > http://lists.semanticdesktop.org/mailman/listinfo/people > > _______________________________________________ people mailing list [email protected] http://lists.semanticdesktop.org/mailman/listinfo/people
