Alan
Please review slides 31-34 in [1] for a precise example of the
technique I am referring to. There is a link to working code that
implements the example within lsw [2]
O.K. Let us work on the provided example. Assume that you found a
VitaminSourceDemoThing that might interest me. How are you going to tell
me, say something like: "Hey, Xiaoshu, check this out -
http://www.example.org/NM_013987_XML". What am I supposed to do next?
I was wrong using the carrot example. But what I was trying to say is
that the semantics of owl:hasValue restriction should have nothing to do
with the URI's composition. Take the example provided, that all
vs:vitaminSourceDemoThing's vs:getMethod must has value of a
"vs:vitaminSourceDemoMethod". Now, if I make the following assertion that
http://foo.com/foo a vs:vitaminSourceDemoThing ;
vs:getMethod http://bar.com/#bar .
An RDF engine should infer that
"http://bar.com/#bar" owl:sameAs vs:vitaminSourceDemoMethod
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.
If using an ontology to decide what to dereference, an engine must have
parse the resource twice. First, using the ontology to decide how to
get a "complete" information set. Second, to infer it to the knowledge
set and do some useful thing. The semantics are different. If you mixed
them up together in the same system, you throw yourself in an endless
loop. For instance, I am curious, how should I dereference the
vs:vitaminSourceDemoMethod, how do I decide the vs:getMethod of this
URI? Don't you see where it is going?
Xiaoshu