RE: Including Semantics

Assaf
 
There are interesting ideas in your email but I don't think you've answered
my original question which is how all this relates to the Semantic Web
activity and RDF ... see more detailed comments below.
 
David

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


What 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. 
[David Burdett] True, but XSDL does not tell you what a shipping address
>>means<<. It might be pretty obvious based on our common experience and
therefore does not need any explanation. But this is not the case for much
of the information transported in business documents. XSDL only gives you a
structure and method of identfying individual pieces of information - it's
not enough
 
 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.
[David Burdett] Again I think you are making assumptions. For example what
do you mean by a "response". Does it mean, for example, a) "I got the
message but have done nothing with it", or b) "I've got the message and it's
structure looks OK, i.e. I haven't checked that codes (e.g. productids) are
valid, or stock availabilty", or c) "I've checked it and here's information
on the extend to which I can satisfy your order". This is all semantic
information that, I doubt would go in a WSDL definition.
 
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.
[David Burdett] I think I get this, but if you did have such a language, who
or what would use it? It's not clear to me. 
 
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.
[David Burdett] I agree that the being able to abstract existing
applications is important 
 
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.
[David Burdett] Who do you think would be the right organization to develop
these semantics and how to define them.
 
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 <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
<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 Friday, 14 February 2003 13:36:28 UTC