RE: Including Semantics

Including SemanticsWhat you want to have are different semantic languages
and a framework that associates all that information together. For example,
XSDL would define some of the semantics of a message. It can tell me that a
purchase order contains one or more line items, a billing address and a
shipping address. In a different language, e.g. WSDL, I could say that a
purchase order is required as the input for an operation and that the
operation does not result in an immediate response.

You can introduce other languages that say interesting things about that
operation. For example, a cost language would introduce a cost property and
a way to express the cost calculated from purchase order message. So you can
say there's a property called 'cost' and determine that value of that
property given a purchase order message.

Another language could define an object called delivery with multiple
properties, reference the purchase order message as indicating the product
property, an accept response as indicating the agent promising to deliver,
and a delivery notice as indicating truth of delivery property. That
'delivery' object does not exist, but if you participate in the business
choreography you can draw a lot of conclusions about the delivery status by
observing how its virtual properties are modified during different states of
the process.

On a conceptual level this is very interesting since it allows the
development of even smarter applications based on what is already there.
That logical delivery object can be defined in terms of existing purchase
order scenarios, even if you're running a COBOL application written thirty
years ago.

On a practical level, I will take a few years before we have the
understanding of how to define such semantics on a larger scale and actual
products that operate on that semantic. So right now it doesn't solve any
problem.

But if you look at a combination like WSCI + WSDL + XSDL you can see that
the semantic of WSCI express the context in which a WSDL operation is used
and the semantic of the WSDL operation expresses what the WSDL type is used
for. So we're already doing some limited semantic work on a step by step
basis. And just like the logical delivery object above, the process that
occurs between the services doesn't really exist, it's only inferred from
how they operate together, and the operation doesn't really exist, it's only
an understanding of the meaning of sending some input and receiving some
output.

arkin

  -----Original Message-----
  From: Burdett, David [mailto:david.burdett@commerceone.com]
  Sent: Thursday, February 13, 2003 12:15 PM
  To: 'Assaf Arkin'; Burdett, David; 'Duane Nickull'
  Cc: www-ws-arch@w3.org
  Subject: RE: Including Semantics


  Assaf

  I agree with all of your email, especially the need for descriptions at
the particle level, apart from the assertion "For computer processing RDF
gives you a good framework". Perhaps it does, but for the problem in hand, I
don't see how it is directly usable now. How would you, for example,
actually use an RDF description of a business document when desiging,
building or operating a computer system that wants to generate or process
XML based business documents.

  David
    -----Original Message-----
    From: Assaf Arkin [mailto:arkin@intalio.com]
    Sent: Thursday, February 13, 2003 11:00 AM
    To: Burdett, David; 'Duane Nickull'
    Cc: www-ws-arch@w3.org
    Subject: RE: Including Semantics




      I think it really boils down to how the information is going to be
>used<. Most information in business documents ends up either being printed
or displayed for human consumption, or mapped to some internal format to
populate information in an ERP system say. In both these cases you need a
very clear definition of the meaning of the data that either a human can
understand as help when viewing a document or can be used by another human
to do a good map between external and internal formats. I don't see how RDF
would help with this and I can't imagine a software tool that could make
good use of it in this context.

      For computer processing RDF gives you a good framework and it can also
contain information for human consumption (e.g. HTML formatted text). But
practically speaking, we're still at the point where people do all that
work, so what we need is way to annotate the information and present some
textual information to the user.

      XSDL, WSDL and most other recent specifications have ways of
annotating definitions. Ideally you should be able to annotate any
definition, not just a top-level one, e.g. a particle in the XSDL content,
an operation from a port type, etc.

      The namespace by itself is insufficient because you can have multiple
definitions in the same namespace. But often some of the semantics is
captured by the namespace on its own. For example,
http://example.com/trading/futures may indicate that all related definitions
deal with trading in futures. It won't tell you what a specific data type
means, or what a particular operation does. But when you browse a repository
of type/service/process definitions, it lets you easily determine what
context you are looking at.

      arkin


      I accept I may be completely missing something - can anyone clarify?

      David
        -----Original Message-----
        From: Assaf Arkin [mailto:arkin@intalio.com]
        Sent: Wednesday, February 12, 2003 9:49 PM
        To: Burdett, David; 'Duane Nickull'
        Cc: www-ws-arch@w3.org
        Subject: RE: Including Semantics



          -----Original Message-----
          From: www-ws-arch-request@w3.org
[mailto:www-ws-arch-request@w3.org]On Behalf Of Burdett, David
          Sent: Wednesday, February 12, 2003 4:30 PM
          To: 'Duane Nickull'
          Cc: www-ws-arch@w3.org
          Subject: Including Semantics


          Duane asked ...

          >>>One missing component I would like to see is semantics.
 David - do you
          think there is a way to leverage the semantics of UBL, CCTS for
the WSAG?<<<

          Semantics is a whole big topic on its own, but here's my take of
the semantic information that you might need to define. Note I'm looking at
this from a "business use" perspective:

          1. Document Semantics. At the highest level a namespace identifies
a document as consisting of a set of fields. Within this there are two
additional levels to consider:

            a) Individual fields. Each field needs to be defined, e.g. what
does "CustomerId" mean, e.g. is it the ID by which the Customer identifies
themselves or the id which the supplier uses to identify the customer?

            b) Fields within a document, e.g. The Customer ID could appear
can appear in multiple places in the document - how does its meaning vary
depending on where it exists.

          2. Context Dependent Semantics. The content of a message can also
depend on the context in which it is being used, for example an Invoice in
Europe is different from an Invoice in the US as it contains different
fields. Similarly an Invoice used in the travel industry contains additional
line item information (e.g flight segments) that other industries (e.g. the
chemical industry) don't need.

          3. Message Semantics. Messages >can< consist of multiple parts
where you could describe each "part" as a document. You then need to, in the
context of the message, define what each document mean, for example you
might want to attach a supplier generated delivery note when requesting a
"return materials advice" for some faulty goods. In this case the delivery
note is evidence that delivery occured. This is different from its first use
when the delivery note informs the buyer of what the supplier has shipped,
but not yet delivered.

          4. Transaction Semantics. The same message with the same structure
and same semantics can be treated differently depending on where it is being
sent and the context in which it is being used. For example sending an Order
Message to an off-site archival service for archiving would have different
meaning than sending the "identical" message to a supplier.

          So yes I think you could leverage the semantics of UBL etc, but
that is just the start and my best >guess< is that you could use header
information in a SOAP message to codify the semantics of the message ...
although this sound very non-RESTafarian ;)

          Also ... this is a trout hole ... how does the W3C work on the
Semantic Web fit in with all of this ;)

          Just looking at the perspective of Semantic Web, could we not use
RDF to create maps of semantic information?

          For example, I can describe the semantics of a type using RDF
(customerID) by referencing the type definition, but also the semantics of
the content of a type (order/billing/address vs. order/shipping/address) if
I can reference an XSD particle. And I can have both semantics, one that
applies to address in isolation, and one that extends that semantics when
address is used in some context.

          I would guess that the same is possible for transactions. For
example, e.g. the address of the invoice that is sent by activity X of
transaction Y. All I need is a way to reference a resource that can be part
of a larger resource in the RDF description and then provide that semantic
in the RDF.

          arkin







          David



          -----Original Message-----
          From: Duane Nickull [mailto:duane@xmlglobal.com]
          Sent: Wednesday, February 12, 2003 4:00 PM
          To: Burdett, David
          Cc: www-ws-arch@w3.org
          Subject: Re: Layers in the WSA (was RE: [Fwd: UN/CEFACT TMG
Releases
          e-Bus ines s Architecture Technical Specification for Public
Review])

          <SNIP/>

Received on Thursday, 13 February 2003 21:34:36 UTC