Re: toString and fresnel

From: David R. Karger <karger_at_mit.edu>
Date: Tue, 22 Mar 2005 12:46:33 -0500

[resending because of email troubles]

chris, I would set it up a bit differently (in order to avoid hardwiring
defaults): write a labelLens that applies to everything and produces
(in preference order) value of rdfs:label of object, or dc:title of object,
or uri of object. Then make sure that lens has lowest priority/gets overridden
by any more specific lens for the object.

   Mailing-List: contact general-help_at_simile.mit.edu; run by ezmlm
   X-No-Archive: yes
   Reply-To: <general_at_simile.mit.edu>
   X-Authenticated: #1074481
   From: "Chris Bizer" <bizer_at_gmx.de>
   Date: Tue, 22 Mar 2005 10:30:46 -0500
   X-Y-GMX-Trusted: 0
   X-Spam-Level:
   X-Spam-Status: No, hits=-4.8 required=5.0 tests=AWL,BAYES_00,HTML_MESSAGE
           autolearn=ham version=2.63
   X-LocalTest: Local Origin

   This is a multi-part message in MIME format.

   ------=_NextPart_000_0048_01C52ECA.354939B0
   Content-Type: text/plain;
           charset="iso-8859-1"
   Content-Transfer-Encoding: quoted-printable


   Hi Eric and all,

   We are having the concept of labelLenses in Fresnel for handling this =
   case.

   Quote from the Fresnel manual I'm currently writing:
   http://simile.mit.edu/repository/fresnel/trunk/docs/manual/FresnelVocabul=
   ary.htm

   A :labelLens provides a short human-understandable label for an instance =
   of a specific class. Browser in the need of labelling a instance (see =
   fresnel:label in the core style vocabulary) should implement the =
   following behaviour:

   1. Look for a labelLens for the specific class.
   2. If no label lens is found, display rdfs:label value.
   3. If no rdfs:label is found, display dc:title value.
   4. If no dc:title is found, display the URI of the resource.


   Example: LabelLens for the class foaf:Person specifying that the =
   person's name should be used as label:=20

   :foafPersonLabelLens rdf:type fresnel:ClassLens ;
                        fresnel:purpose fresnel:labelLens ;
                        fresnel:lensDomain foaf:Person ;
                        fresnel:showProperties foaf:name .

   Chris








   ----- Original Message -----=20
   From: "Eric Miller" <em_at_w3.org>
   To: <general_at_simile.mit.edu>
   Sent: Tuesday, March 22, 2005 9:50 AM
   Subject: Re: toString and fresnel


>=20
> On Mar 22, 2005, at 9:30 AM, David R. Karger wrote:
>=20
> > please be more precise about in-your-face urls?
>=20
> http://www.w3.org/2001/sw/ is an in-your-face url.
>=20
> > i am sure fresnel shows rdfs:label if it exists; question is what
> > to do if there is none.
>=20
> Exactly.
>=20
> Implementing variants of this problem in the past (and generalizing=20
> from various other implementations), the general approach seems to be=20
> hard-wired in code to look for (rdf:value, rdfs:label, dc:title) and=20
> then punt to an in-your-face url of the 'thing'. I'm hoping we can do=20
> better than that. :)
>=20
> Haystack seems to have gotten this pretty close. How is this being =
   done?
>=20
> As Emmanuel mentioned -
>=20
> "... fresnel:label (or at least there is label in it, Chris or Ryan=20
> will know better) and takes a URI reference (indicating a property) as =

> the property value to be considered as the label."
>=20
> seems to be a start towards this.
>=20
> There are various issues to watch out for with objects that are=20
> multiple types (which in turn might have multiple fresnel:label (s) =
   but=20
> thats a different thread.
>=20
> I just wanted to make sure this feature was in there somewhere. :)
>=20
> > Perhaps rather then showing url, fresnel
> > should print "unnamed <rdfs:Class of resource>"
>=20
> Yes. In the case of not knowing the 'label', applications should=20
> defaulting to some sort of additional helpful display. While this=20
> default will be application specific in the case of Longwell /=20
> PiggyBank / SemBank a linked version of the above is preferable to=20
> 'anonymous'.
>=20
> --
> eric miller http://www.w3.org/people/em/
> semantic web activity lead http://www.w3.org/2001/sw/
> w3c world wide web consortium http://www.w3.org/
>=20
>=20
>=20
>=20
> > From general-return-345-karger=3Dcsail.mit.edu_at_simile.mit.edu Tue =
   Mar=20
> > 22 09:23:55 2005
> > Mailing-List: contact general-help_at_simile.mit.edu; run by ezmlm
> > X-No-Archive: yes
> > Reply-To: <general_at_simile.mit.edu>
> > To: general_at_simile.mit.edu
> > From: Eric Miller <em_at_w3.org>
> > Subject: toString and fresnel
> > Date: Tue, 22 Mar 2005 09:23:52 -0500
> >
> > In your face URLs are a "bad thing".
> >
> > One of the uses I see of fresnel is being able to declaratively
> > indicate human readable "default" labels for arbitrary resources. I
> > suspect this is part of fresnel but I haven't seen this discussed =
   yet.
> > Can one of the fresnel folk confirm how this is currently handled?
> >
> > I just want to make sure we don't miss the simple use cases while
> > dealing with the harder ones.
> >
> > --
> > eric miller =
   http://www.w3.org/people/em/
> > semantic web activity lead http://www.w3.org/2001/sw/
> > w3c world wide web consortium http://www.w3.org/
> >
> >
>
   ------=_NextPart_000_0048_01C52ECA.354939B0
   Content-Type: text/html;
           charset="iso-8859-1"
   Content-Transfer-Encoding: quoted-printable

   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
   <HTML><HEAD>
   <META http-equiv=3DContent-Type content=3D"text/html; =
   charset=3Diso-8859-1">
   <META content=3D"MSHTML 6.00.2800.1479" name=3DGENERATOR>
   <STYLE></STYLE>
   </HEAD>
   <BODY>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>Hi Eric and all,</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>We are having the concept of =
   &nbsp;labelLenses in=20
   Fresnel&nbsp;for handling this case.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>Quote from the Fresnel manual I'm =
   currently=20
   writing:</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2><A=20
   href=3D"http://simile.mit.edu/repository/fresnel/trunk/docs/manual/Fresne=
   lVocabulary.htm">http://simile.mit.edu/repository/fresnel/trunk/docs/manu=
   al/FresnelVocabulary.htm</A></FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>A :labelLens provides a short =
   human-understandable=20
   label for an instance of a specific class. Browser in the need of =
   labelling a=20
   instance (see fresnel:label in the core style vocabulary) should =
   implement the=20
   following behaviour:</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>1. Look for a labelLens for the =
   specific=20
   class.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>2. If no label lens is found, display =
   rdfs:label=20
   value.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>3. If no rdfs:label is found, display =
   dc:title=20
   value.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>4. If no dc:title is found, display the =
   URI of the=20
   resource.</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>Example: LabelLens for the class =
   foaf:Person=20
   specifying that the person's&nbsp;name should be used as label: =
   </FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>:foafPersonLabelLens rdf:type =
   fresnel:ClassLens=20
   ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
   bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
   fresnel:purpose fresnel:labelLens=20
   ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
   bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
   fresnel:lensDomain foaf:Person=20
   ;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
   bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
   fresnel:showProperties foaf:name .</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>Chris</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
   <DIV><FONT face=3DArial size=3D2>----- Original Message ----- </FONT>
   <DIV><FONT face=3DArial size=3D2>From: "Eric Miller" &lt;</FONT><A=20
   href=3D"mailto:em_at_w3.org"><FONT face=3DArial =
   size=3D2>em_at_w3.org</FONT></A><FONT=20
   face=3DArial size=3D2>&gt;</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>To: &lt;</FONT><A=20
   href=3D"mailto:general_at_simile.mit.edu"><FONT face=3DArial=20
   size=3D2>general_at_simile.mit.edu</FONT></A><FONT face=3DArial=20
   size=3D2>&gt;</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>Sent: Tuesday, March 22, 2005 9:50 =
   AM</FONT></DIV>
   <DIV><FONT face=3DArial size=3D2>Subject: Re: toString and=20
   fresnel</FONT></DIV></DIV>
   <DIV><FONT face=3DArial><BR><FONT size=3D2></FONT></FONT></DIV><FONT =
   face=3DArial=20
   size=3D2>&gt; <BR>&gt; On Mar 22, 2005, at 9:30 AM, David R. Karger =
   wrote:<BR>&gt;=20
   <BR>&gt; &gt; please be more precise about in-your-face urls?<BR>&gt; =
   <BR>&gt;=20
   </FONT><A href=3D"http://www.w3.org/2001/sw/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/2001/sw/</FONT></A><FONT face=3DArial =
   size=3D2> is an=20
   in-your-face url.<BR>&gt; <BR>&gt; &gt; i am sure fresnel shows =
   rdfs:label if it=20
   exists; question is what<BR>&gt; &gt;&nbsp; to do if there is =
   none.<BR>&gt;=20
   <BR>&gt; Exactly.<BR>&gt; <BR>&gt; Implementing variants of this problem =
   in the=20
   past (and generalizing <BR>&gt; from various other implementations), the =
   general=20
   approach seems to be <BR>&gt; hard-wired in code to look for =
   (rdf:value,&nbsp;=20
   rdfs:label, dc:title) and <BR>&gt; then punt to an in-your-face url of =
   the=20
   'thing'. I'm hoping we can do <BR>&gt; better than that. :)<BR>&gt; =
   <BR>&gt;=20
   Haystack seems to have gotten this pretty close. How is this being =
   done?<BR>&gt;=20
   <BR>&gt; As Emmanuel mentioned -<BR>&gt; <BR>&gt; "... fresnel:label (or =
   at=20
   least there is label in it, Chris or Ryan <BR>&gt; will know better) and =
   takes a=20
   URI reference (indicating a property) as <BR>&gt; the property value to =
   be=20
   considered as the label."<BR>&gt; <BR>&gt; seems to be a start towards=20
   this.<BR>&gt; <BR>&gt; There are various issues to watch out for with =
   objects=20
   that are <BR>&gt; multiple types (which in turn might have multiple=20
   fresnel:label (s) but <BR>&gt; thats a different thread.<BR>&gt; =
   <BR>&gt; I just=20
   wanted to make sure this feature was in there somewhere. :)<BR>&gt; =
   <BR>&gt;=20
   &gt; Perhaps rather then showing url, fresnel<BR>&gt; &gt;&nbsp; should =
   print=20
   "unnamed &lt;rdfs:Class of resource&gt;"<BR>&gt; <BR>&gt; Yes. In the =
   case of=20
   not knowing the 'label', applications should <BR>&gt; defaulting to some =
   sort of=20
   additional helpful display. While this <BR>&gt; default will be =
   application=20
   specific in the case of Longwell / <BR>&gt; PiggyBank / SemBank a linked =
   version=20
   of the above is preferable to <BR>&gt; 'anonymous'.<BR>&gt; <BR>&gt; =
   --<BR>&gt;=20
   eric=20
   miller&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
   nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
   bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
   </FONT><A href=3D"http://www.w3.org/people/em/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/people/em/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt;=20
   semantic web activity=20
   lead&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
   sp;&nbsp;&nbsp;=20
   </FONT><A href=3D"http://www.w3.org/2001/sw/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/2001/sw/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt; w3c=20
   world wide web=20
   consortium&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
   sp;=20
   </FONT><A href=3D"http://www.w3.org/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt; <BR>&gt;=20
   <BR>&gt; <BR>&gt; <BR>&gt; &gt; From </FONT><A=20
   href=3D"mailto:general-return-345-karger=3Dcsail.mit.edu_at_simile.mit.edu">=
   <FONT=20
   face=3DArial=20
   size=3D2>general-return-345-karger=3Dcsail.mit.edu_at_simile.mit.edu</FONT><=
   /A><FONT=20
   face=3DArial size=3D2>&nbsp; Tue Mar <BR>&gt; &gt; 22 09:23:55 =
   2005<BR>&gt; &gt;=20
   Mailing-List: contact </FONT><A =
   href=3D"mailto:general-help_at_simile.mit.edu"><FONT=20
   face=3DArial size=3D2>general-help_at_simile.mit.edu</FONT></A><FONT =
   face=3DArial=20
   size=3D2>; run by ezmlm<BR>&gt; &gt; X-No-Archive: yes<BR>&gt; &gt; =
   Reply-To:=20
   &lt;</FONT><A href=3D"mailto:general_at_simile.mit.edu"><FONT face=3DArial=20
   size=3D2>general_at_simile.mit.edu</FONT></A><FONT face=3DArial =
   size=3D2>&gt;<BR>&gt;=20
   &gt; To: </FONT><A href=3D"mailto:general_at_simile.mit.edu"><FONT =
   face=3DArial=20
   size=3D2>general_at_simile.mit.edu</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt; &gt;=20
   From: Eric Miller &lt;</FONT><A href=3D"mailto:em_at_w3.org"><FONT =
   face=3DArial=20
   size=3D2>em_at_w3.org</FONT></A><FONT face=3DArial size=3D2>&gt;<BR>&gt; =
   &gt; Subject:=20
   toString and fresnel<BR>&gt; &gt; Date: Tue, 22 Mar 2005 09:23:52 =
   -0500<BR>&gt;=20
   &gt;<BR>&gt; &gt; In your face URLs are a "bad thing".<BR>&gt; =
   &gt;<BR>&gt; &gt;=20
   One of the uses I see of fresnel is being able to declaratively<BR>&gt; =
   &gt;=20
   indicate human readable "default" labels for arbitrary resources.&nbsp;=20
   I<BR>&gt; &gt; suspect this is part of fresnel but I haven't seen this =
   discussed=20
   yet.<BR>&gt; &gt; Can one of the fresnel folk confirm how this is =
   currently=20
   handled?<BR>&gt; &gt;<BR>&gt; &gt; I just want to make sure we don't =
   miss the=20
   simple use cases while<BR>&gt; &gt; dealing with the harder =
   ones.<BR>&gt;=20
   &gt;<BR>&gt; &gt; --<BR>&gt; &gt; eric=20
   miller&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
   nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
   bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
   </FONT><A href=3D"http://www.w3.org/people/em/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/people/em/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt;=20
   &gt; semantic web activity=20
   lead&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
   sp;&nbsp;&nbsp;=20
   </FONT><A href=3D"http://www.w3.org/2001/sw/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/2001/sw/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt;=20
   &gt; w3c world wide web=20
   consortium&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
   sp;=20
   </FONT><A href=3D"http://www.w3.org/"><FONT face=3DArial=20
   size=3D2>http://www.w3.org/</FONT></A><BR><FONT face=3DArial =
   size=3D2>&gt;=20
   &gt;<BR>&gt; &gt;<BR>&gt; </FONT></BODY></HTML>

   ------=_NextPart_000_0048_01C52ECA.354939B0--
Received on Tue Mar 22 2005 - 17:44:56 EST

This archive was generated by hypermail 2.3.0 : Thu Aug 09 2012 - 16:39:18 EDT