W3C home > Mailing lists > Public > www-archive@w3.org > August 2002

Re: why does intern care whether there's a '#' or not?

From: Tim Berners-Lee <timbl@w3.org>
Date: Tue, 13 Aug 2002 22:43:04 -0400
Cc: www-archive@w3.org
To: Dan Connolly <connolly@w3.org>
Message-Id: <8E7F4D4B-AF2F-11D6-A399-000393914268@w3.org>

On Monday, August 12, 2002, at 06:26 PM, Dan Connolly wrote:

> In llyn.py, why does the intern method
> care whether there's a '#' or not in the URI?

Just for convenience, and space-saving habits from 64kB days,
foo#bar is interned a la ("#bar", intern ("foo").  This means
that the things without hashes on can be found rapidly
from the thing with a hash, and there is an object there
of a class which can have retreival information hung off it.

For example, I use it when counting how many occurrences of
each namespace are to be output, and I plan to use it
when zooming though a query to check that all the schemata
have been loaded, in "think usingschemas" mode.

> In thing.py, why does the Symbol class
> not include stuff like <foo#bar>?

becase i couldn't call them both Symbol.
In fact, the mapping of the language structure to the
software class hierarchy doesn't work well.
For example, formuale and bnodes at the moment
have identifies   (with #) and so while that
identifier is arbitrary, there is sofware wise that in common
between for example a Formula and a regular
foo#bar symbol.

> I would think that contact:homePage
> is a symbol.

Yes it is a symbol.
If yo like we could make a classs Symbol which is
a superclass o0f the current Symbol and Frgament
but nothing else.

> I'd like to talk more about who interns what.
> I'm having a lot of trouble tracking down
> bugs... well, actually, I'm having trouble
> figuring out whether various things are bugs
> or not; i.e. what the invariants are.

Oh. Sounds we should have an online phone call about it.


> --
> Dan Connolly, W3C http://www.w3.org/People/Connolly/
Received on Tuesday, 13 August 2002 22:43:08 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:31:52 UTC