I (or my software) would send you a small package of triples. Effectively:

1. The location of the ontology that includes VitaminSourceDemoThing
2. The resource of interest: http://www.example.org/NM_013987_XML

You would know (because we have agreed on the outline of how we resolve URIs) to follow the steps in slide 34 (repeated here)

Call (get-information-resource-location !<http://www.example.org/NM_013987_XML> )
Which does the following
1. Get the getMethod of NM_013987_XML
=> !vitaminSourceDemoMethod (inherited)
2. Get the direct type of the method. It is !SPARQLRetrieval
3. Dispatch to code based on type
4. Code retrieves queryPattern => “PREFIX biozen:….%%URI%%…”
5. Code retrieves URIVariableString => “%%URI%%”
6. Code replaces %%URI%% with NM_013987_XML uri
7. Code retrieves useSPARQLEndpoint (2 of them)
8. Constructs http gets, e.g.
http://neuroscientific.net/vitamin-source/endpointone/
endpoint.php?query=PREFIX%20biozen:%20%3Chttp://neuroscientific.net/biozen.
owl%23%3E%20SELECT%20?url%20WHERE%20%7B%3Chttp://www.example.
org/NM_013987_XML%3E%20biozen:download%20?url%20.%20%7D"
http://tinyurl.com/u6ztt
9. Query returns =>
http://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nucleotide&id=7669537&rettype=xml

So, instead of saying "hey, here is the URI". You would say "Oh, here is the URI and then go here and there, and follow these protocols, you can then know something about this resource." Do you honestly consider this an elegant solution? Also, doesn't what you suggested sound like another DNS in RDF disguise? Don't you think it would be better to try to persuade the entire web community to adopt something like LSID, than using the proposed solution?
But it does not mean that the engine should dereference dereference the URI of vs:vitaminSourceDemoMethod instead of http://bar.com/#bar, am I right? Because there might be some other interesting knowledge at "http://bar.com/#bar"; that is not available at vs:vitaminSourceDemoMethod.
That is supposed not to make sense because I was trying to illustrate the difference in the semantics of a native DL engine. And what the proposed is a second layer of semantics (URI dereference) based on that semantics. In other words, you must implement additional logic on top of an RDF engine to support that functionality.
I am not assuming you are retrieving each uri one by one. Chunks of things come in files. The ontology as a whole is in one file. You are correct that one always has a bootstrap issue. However I anticipate that the core of the URI resolution ontology, given its importance, would be available and most likely cached, and that this ontology would have enough defined to declare alternate methods of getting itself in the future.
But tell me how? Don't I have to say explicitly that

http://bar.com/#bar a vs:VitaminSourceDemoThing

in order to use the predefined value of the vs:getMethod? Sure, chunks of things come in files. But each file contain totally different kind of things, each of which has to be described explicitly, right? How do you describe resources in chunk? I am not sure I can understand that.

Xiaoshu

Reply via email to