Re: Manual updated for core vocabulary

From: David R. Karger <>
Date: Thu, 7 Jul 2005 14:34:47 -0400

I've started working through the manual. Here are my notes on the
core lens vocabulary.

You say that FSL exprs and SPARQL queries should always use
fresnel:instanceLensDomain. Isn't it possible that I might want to
isse a complex query that returns a type (or a set of types) to which
I want the lens to apply? This would be the natural semantics if I
used :classLensDomain with a complex selector.

note that x:classLensDomain is actually redundant syntactic sugar
since you could always take whatever selector identifies the class,
wrap it in a "instances of this class" selector and use
:instanceLensDomain instead.

unclear whether :showProperties or :hideProperties "dominates" (or
whether it is order dependent). eg what if my lens says
:showProperties :a :hideProperties :a (I could imagine this happening
if the lens gets programmatically assembled).

:allProperties is a predefined list. Can I also define other lists
and put them into the :showProperties argument? Do such lists get
concatenated? Or can I only list individual properties?

I didn't understand the fresnel:member usage.

I think the specification for browsers of how to pick a label lens
might be a bit too specific. I might say that browsers _could_ do
this rather than _should_?

I also question the specificity of preferring sparql lenses to fsl
etc. This is certainly a reasonable strategy, but I could think of
many others---eg to use the most recent creation date, or the one from
the namespace I like best, or the one that was parsed last (or first),
etc. I think that you rare trying to get at which lens is most
"specific" in that you can write queries in sparql that will return
very narrow subsets, but there is no guarantee that every sparql query
will have this characteristc.

On the other hand, the idea of using most specific subclass makes
sense, because that is clearly a more specific lens.

I'm of two minds about using :defaultLens over others. It goes
_against_ the idea of using most specific lens. But it is probably

I also don't think browsers should issue a (user visible) warning when
they can't decide. This is just a bad idea from a user interface
perspective. Logging the problem would be reasonable of course.

In 2.5 Using Sublenses example, suppose I did NOT specify
fresnel:subLens :foafPersonDefaultLens. Would that lens be used
anyway because that is the defualt lens for objects of type person?
What happens when foaf:knows points to someone who is not a person?
Using the :foafPersonDefaultLens would be a bad idea!

It seems to me that what foaf:subLens is trying to do is to push a new
"stack frame" in which one can modify the specifications about which
lenses should be used for which types of objects. It is unclear to me
that we should have separate syntax for this---eg, why not just reuse
things like :defaultLens and :purpose? Should this idea be taken
further? Ie should foaf:mbox push a new stack frame where you can
nowassert any kind of lens or styling instructions that apply only to
that frame?

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?

the embedded example with fresnel:use doesn't demonstrate/explain to us
anything about the predicate. I followed the link to the full
example and still couldn't understand :groups.

in general, perhaps examples would be helped if, in addition to
showing the lenses, you showed the output (to some standard format
like html) of using them?
Received on Thu Jul 07 2005 - 18:32:06 EDT

This archive was generated by hypermail 2.3.0 : Thu Aug 09 2012 - 16:40:51 EDT