[
Lists Home |
Date Index |
Thread Index
]
Miles Sabin wrote:
> Paul Prescod wrote,
>
>...
>>
>>I would define the mapping _as_ a RDF/DAML(OWL) assertion using
>>DAML's (OWL's) equivalentTo relationship.
>
> Maybe I should have said transformation rather than mapping.
>
> I'll try again: once you've defined an executable transformation (eg.
> using XSLT), what useful job is there left for RDF/DAML/OWL to do?
Probably none. But I wouldn't define an executable transformation in an
XSLT program when I could define a declarative mapping in a single line
of OWL.
First, the XSLT is Turing complete. That means that if you send an agent
onto the Web to find an XSLT that translates ebXML into BizTalk, you
have no idea what computational resources you are committing to run the
transformation it finds. You can't even kill the process with confidence
when it runs in an "unreasonable amount of time" because perhaps it was
just one second away from completing the task. So you set some arbitrary
runtime limit and take your chances. I *believe* that the computational
properties of semantic web reasoners are more predictable. But I am not
a computational logician so I could be wrong on that.
Also, there are issues around security and analysis of Turing-complete
programs versus declarative specifciations. And serious optimization
issues! So overall, I see the OWL route as being more reliable, secure
and performant.
Second, the XSLT specification has weak support for handing off from one
XSLT to another on a very granular (per-element) basis. Consider:
Input:
<some-ns:coffee>
<some-ns:hot/>
<your-ns:sweet/>
</some-ns:coffee>
Wished-for Output:
<my-ns:drink>
<my-ns:temperature>hot</my-ns>
<my-ns:sugary/>
</my-ns:drink>
I need to be able to switch mapping specifications's midstream from
some-ns->my-ns to your-ns->my-ns. I'm having a hard time envisioning how
I would do this in XSLT, but I think it is standard in logic languages.
(Prolog calls it unification, but I think the Prolog algorithm is
probably more powerful than is needed for OWL)
Third, I've never heard of anybody composing XSLTs that were developed
entirely independently except by building a pipeline where the document
is processed by one and handed off to another. What does the XSLT for a
single element daml:isEquivalentTo look like? I'd guess it is something
like an identity transform plus the single rule. Alternately you could
use the precedence functionality and some kind of stylesheet
concatenation but I don't think that the managing of precedence and
scoping in a distributed fashion will work! My perhaps faulty
understanding is that it would be relatively easy for a processor to
automatically go through many levels of renaming in OWL whereas in XSLT
this would probably require some very tricky XSLT programming.
Fourth, it is much easier to use OWL as it was intended to be used than
to chain-gang XSLT into the job. XSLT is not even designed to be a
"general-purpose transformation language" much less a semantic mapping
language.
Paul Prescod
|