Alexander Johannesen wrote:
> I think you are quite mistaken on this, but before we leap into wheter
> the web is suitable for SuDoc I'd rather point out that SuDoc isn't
> web friendly in itself, and *that* more than anything stands in the
> way of using them with the web.
It stands in the way of using them in the fully realized sem web vision.

It does NOT stand in the way of using them in many useful ways that I 
can and want to use them _right now_. Ways which having a URI to refer 
to them are MUCH helped by. Whether it can resolve or not (YOU just made 
the point that a URI doesn't actually need to resolve, right? I'm still 
confused by this having it both ways -- URIs don't need to resolve, but 
if you're URIs don't resolve than you're doing it wrong. Huh?), if you 
have a URI for a SuDoc you can use it in any infrastructure set up to 
accept, store, and relate URIs. Like an OpenURL rft_id, and, yeah, like 
RDF even.  You can make statements about a SuDoc if it has a URI, 
whether or not it resolves, whether or not SuDoc itself is 'web 
friendly'.  One step at a time.

This is my frustration with semantic web stuff, making it harder to do 
things that we _could_ do right here and now, because it violates a 
fantasy of an ideal infrastructure that we may never actually have.

There are business costs, as well as technical problems, to be solved to 
create that ideal fantasy infrastructure. The business costs are _real_....

>  Also, having a unified resolver for
> SuDoc isn't hard, can be at a fixed URL, and use a parameter for
> identifiers. You don't need to snoop the non-parameterized section of
> an URI to get the ID's ;
Okay, Alex, why don't you set this up for us then? And commit to 
providing it persistently indefinitely? Because I don't have the 
resources to do that.  And for the use cases I am confronted with, I 
don't _need_ it, any old URI, even not resolvable, will do--yes, as long 
as I can recognize it as a SuDoc and extract the bare SuDoc out of it. 
Which you say I shouldn't be doing (while others say that's a 
mis-reading of those docs to think I shouldn't be doing it) -- but 
avoiding doing that would raise the costs of my software quite a bit, 
and make the feature infeasible in the first place. Business costs and 
resources _matter_.

I'm being a bit dis-ingenous here, because rsinger actually already 
_has_ set something like this up, using Which isn't perfect, 
but it's there, so fine. I still don't even need it for what I'm doing.

> No it's not; if you design your system RESTfully (which, indeed, HTTP
> is) then the discovery part can be fast, cached, and using URI
> templates embedded in HTTP responses, fully flexible and fit for your
> purposes.

Feel free to contribute code to my open source project (Umlaut) to 
accomplish the things I need to do in an efficient manner while making 
an HTTP request for every single rft_id that comes in.  These URIs are 
_external_ URIs from third parties, I have no control over whether they 
are designed RESTfully or not.  But you contribute the code, and it's 
good code, I'll be happy to use it.

In the meantime, I'll continue trying to balance functionality, 
maintainability, future expansion, and the programming and hardware 
resources available to me, same as I always do, here in the real world 
when we're building production apps, not R&D experiments, where we don't 
have complete control over the entire environment we operate in. You 
telling me that everything would work great _if only_ everyone in the 
whole world that I need to inter-operate with did things the way you say 
they should -- does absolutely nothing for me. 

And this, again, is my frustration with many of these semantic web 
arguments I'm hearing -- describing an ideal fantasy world that doesn't 
exist, but insisting we act as if it does, even if that means putting 
barriers in the way of actually getting things done.  I'd like to 
actually get things done while moving bit-by-bit toward the semantic web 
vision. I can't if the semantic web vision insists that everything must 
be perfect, and disallows alternate solutions, alternate trade-offs, and 
alternate compromises. I don't have time for that, I'm building actual 
production apps with limited resources.