Why use DAML?
In real life when somebody is told something,
he may be able tell something new by combining his new
and old knowledge. Similar can be the case with computers
when you tell something in XML to a computer, it may tell
you something new in response, but it happens because
of some other software that is not part of the XML specification.
The implementation of that software can be of different
type in different systems which will result in different
answers from those systems. If you tell a computer something
new in DAML, it can give you new information, based entirely
on the DAML standard itself. Any system which conforms
to DAML must have certain set of conclusions. The main
use of DAML is that it gives computers an extra small
degree of autonomy which can help it to do more useful
work for people.
The difference between XML and DAML lies
in the fact that a set of XML statements don’t let
you conclude another XML statement whereas a set of DAML
statements allow you to conclude another DAML statement.
In DAML knowledge is explicitly stated but in XML to generate
new data, we need to embed knowledge in some procedural
code somewhere.
Take for example the following statement,
"Parenthood is a more general relationship than motherhood."
and "Lena is the mother of Steve" together allow
a system conforming to DAML to conclude that "Lena
is a parent of Steve". In this way, if a user poses
a query to a DAML search system such as "Who are
Steve's parents?", the system can respond that Lena
is one of Steve's parents, even though that fact is not
stated anywhere, but can only be derived by a DAML application.
More formally stated, give the statements
(motherOf subProperty parentOf)
(Lena motherOf Steve)
when stated in DAML, allows you to conclude
(Lena parentOf Steve)
based on the logical definition of "subProperty"
as given in the DAML spec. The same information stated
in XML does not allow you to assert the third fact. XML
itself provides no semantics for its tags. One might create
a program that assigns similar semantics to a "subProperty"
tag, but since that semantics isn't part of the XML spec,
applications could be written which conform to the XML
spec, and yet do not make that assertion.
The example given above can be supported
by other web languages like RDFS which are a step ahead
of XML. DAML offers a host of standard properties like
equivalence or some particular unique properties.
One can easily make out that there is
similar utility in just about every domain: in finance
where one might query about all bank accounts associated
with a particular person (whether they are directly owned
by, or held in trust for etc), in logistics where one
wants to ask the rates for shipping to any eastern European
city (where no such category has been predefined and only
the countries in eastern Europe are listed). In DAML we
have a kind of knowledge that can be dynamically applied
to find an answer, rather than predefined procedures.
DAML provides the machines with the basic
infrastructure which helps them to make inferences like
human beings. DAML is just a start, but it’s a critical
foundation for a web of information that machines can
draw upon.