Re: toString and fresnel

From: David R. Karger <karger_at_theory.csail.mit.edu>
Date: Tue, 22 Mar 2005 10:38:33 -0500

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.

        From general-return-352-karger=csail.mit.edu_at_simile.mit.edu Tue Mar 22 10:30:59 2005
        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>
        To: <general_at_simile.mit.edu>
        Subject: Re: toString and fresnel
        Date: Tue, 22 Mar 2005 10:30:46 -0500
        X-Y-GMX-Trusted: 0

        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 - 15:36:57 EST

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