I agree about depth being a global variable. Thinking about the
way recursions are usually done, I do think it may be important
to have an explicit base case, ie a way to have a different lens
(eg a labellens) take over if you reach maximum depth, rather
than just silently "giving up" at that point and rendering nothing.
From fresnel-dev-return-157-karger=mit.edu_at_simile.mit.edu Mon Jul 11 11:19:06 2005
Mailing-List: contact fresnel-dev-help_at_simile.mit.edu; run by ezmlm
X-No-Archive: yes
Reply-To: fresnel-dev_at_simile.mit.edu
X-Antivirus-darkclan-Mail-From: ryanlee_at_w3.org via center
X-Antivirus-darkclan: 1.24-st-qms (Clear:RC:0(128.30.5.114):. Processed in 9.145315 secs Process 6493)
Date: Mon, 11 Jul 2005 11:18:33 -0400
From: Ryan Lee <ryanlee_at_w3.org>
X-Accept-Language: en-us, en
To: fresnel-dev_at_simile.mit.edu
Subject: Re: Manual updated for core vocabulary
In-Reply-To: <42D21237.40500_at_lri.fr>
X-Spam-Score: 0.541
Emmanuel Pietriga wrote:
> Emmanuel Pietriga wrote:
>
>> David R. Karger wrote:
>>
>>> What happens if various :sublenses invoke each other with different
>>> :depth arguments? Is the semantics that depth is a global variable and
>>> a sublens doesn't apply if the depth exceeds the depth specified for
>>> that sublens? if so, is there any way to specify a "base case", eg
>>> what is going to happen if the sublens cannot be invoked because of
>>> the depth constraint?
>>
>>
>>
>> I have to think about that. Coming back to it later.
>
>
> Depth should be a global variable. Otherwise we do not prevent infinite
> recursion.
>
> Considering the following lens:
>
> :foafPersonDefaultLens rdf:type fresnel:Lens ;
> fresnel:showProperties (
> foaf:name
> [ rdf:type fresnel:PropertyDetails ;
> fresnel:property foaf:knows ;
> fresnel:sublens :foafPersonDefaultLens;
> fresnel:depth "5"^^xsd:nonNegativeInteger ]
> )
>
>
> the lens shows up to five levels of persons. When it arrives at the 6th
> recursive call, it just does not show this property. Nothing else
> happens. We might provide additional Fresnel terms in the extended lens
> vocabulary to say that in this case the browser should show
> links/buttons/whatever/... that make it possible to further explore this
> branch.
>
> The same behaviour applies to recursive calls involving more than one
> lens, knowing that the maximum depth is that declared by the topmost
> sublens call in the recursion.
>
> Ryan, Chris, does this description sound right to you?
Yes, I believe that's how I wrote my code. Although I did realize that
sublenses with maximum depth less than the current depth+original max
depth should be honored, so I'll add that in as well.
--
Ryan Lee ryanlee_at_w3.org
W3C Research Engineer +1.617.253.5327
http://simile.mit.edu/
Received on Mon Jul 11 2005 - 15:19:47 EDT