Tom Munnecke
May 3, 2001
tom@munnecke.com
GivingSpace can be viewed as a semantic web[1] in which information is tagged as defined by a language based Extensible Markup Language (XML).[2] Semantic web technology is being developed by the World Wide Web Consortium (w3C)[3]
|
Extensible Markup Language |
XML |
|
|
Simple Object Access Protocol |
SOAP |
|
|
Resource Decription Framework |
RDF |
|
|
Extensible Stylesheet Language Transformations |
XSLT |
|
|
XML Path Language |
XPath |
|
|
Universal Description, Discovery and Integration Service |
UDDI |
|
|
Geographical Information Systems |
GIS |
When the web was introduced, HTML was a critical component to give web designers the ability to format and link their documents. It was a simple yet powerful way to embed linkages in documents that could be followed by mouse clicks. Computers could understand the format, too, so that search engine “spiders” could search the web and classify information. Web pages could be marked up to hold images, tables, formatting, and other information that could be interpreted by web browsers for presentation to users who only had to know, “Click on what interests you.” Frequently asked questions about XML can be found at http://www.ucc.ie/xml/
Some XML languages under development for specific domains of knowledge are:
is intended to facilitate the use and re-use of mathematical and scientific content on the Web, and for other applications such as computer algebra systems, print typesetting, and voice synthesis. MathML can be used to encode both the presentation of mathematical notation for high-quality visual display, and mathematical content, for applications where the semantics plays more of a key role such as scientific software or voice synthesis…with adequate style sheet support, it will ultimately be possible for browsers to natively render mathematical expressions.
Chemical Markup Language brings the power of XML to the management of chemical information. In simple terms it is "HTML with Molecules", but there is a great deal more. CML, and associated tools, allows for the conversion of current files without semantic loss, structured documents including chemical publications, and precise location of information within files.
The (AIML) is a domain-specific implementation of the more generalized Instrument Markup Language (IML). Both AIML and IML are vocabularies based on the W3C standard, the Extensible Markup Language (XML). NASA Goddard Space Flight Center and Century Computing, a division of AppNet, Inc., are developing AIML to command and control astronomical instruments. Our software architecture combines the platform-independent processing capabilities of Java with the power of XML. A key aspect of the object-oriented architecture, implemented in Java, involves software that is driven by the AIML instrument description. The initial effort is targeted at the Stratospheric Observatory for Infrared Astronomy, an airborne observatory aboard a Boeing 747. Eventually our techniques will enable trusted astronomers from around the world to easily access infrared instruments (e.g., telescopes, cameras, and spectrometers) located in a variety of remote, inhospitable environments.
AIML is an instrument description that encompasses instrument characteristics, control commands, data stream descriptions (including image and housekeeping data), message formats, communication mechanisms, and pipeline algorithm descriptions. AIML also supports role-specific documentation and GUI component generation. Dialects such as PAML (Pipeline Algorithm ML) and IGS (Instrument GUI Stylesheet [XSL]) will be added in the near future.
AML, "Astronomical Markup Language", is an XML language, aimed at being a standard exchange format for metadata in astronomy. AML now supports the following objects (in the object-oriented sense): astronomical object, article, table, set of tables, image, person, and project. This means that all these objects can be described with the same language, allowing easier establishing of links between them, and the creation of programs handling all these objects with the same user interface.
Genome research projects typically involve a variety of data (sequences, annotations, analysis results, database links, graphical images, etc.) that may be distributed over multiple storage locations and networks. Creation, management, analysis, and communication of these data often require the use of various computer software applications and databases that utilize non-interchangeable data formats. The lack of standards in bioinformatics is a serious obstacle to productivity. Other obstacles include the loss of information content and state by transmission of data in HTML, and a lack of persistence in bioinformatic analyses and searches because the results are simply pictures in viewers.
The design goals of OMF are:
Mark up (annotate) raw observation
reports with additional description, decoded information, and derived, computed
quantities.
The raw report data must not be
modified in any way, and should be conveniently extractable (by simply
stripping all the tags away). One should be able to reconstruct a report in its
original form even if it is miscoded.
OMF must be concise. While providing
useful annotations to a client, OMF markup should not impose undue overhead on
communication channels.
It should be possible to extend the
markup with additional annotations, without affecting applications that do not
use this information.
The NAA Classified Advertising Standards Task Force was organized by the NAA Technology Department to facilitate the electronic exchange of classified ads. Standards developed will pave the way for aggregation of classified ads among publishers on the Internet, as well as enhance the development of classified processing systems. Its mission: Establish standards that permit advertisers to provide, and publishers to share and aggregate, advertising data which may be published in media-independent formats
For example, Adex would allow someone to search classified ads in newspapers to be searched efficiently across a wide number of independent newspapers. Current search engine technology cannot do this. For example, it is not possible to search the web according to “price,” because there is no way to express price on a web page in a meaningful way. A general search engine would not be able to tell the difference between a price and a zip code, for example. Using HTML, today’s most popular markup language, the web page can highlight a price by making it bold:
<bold>$99.95</bold>
The web browser would respond by hiding the tags and making the price tag bold. Using XML-based markup languages, page designers could mark up their web page with tags, such as
<price>$99.95</price>
The browser could be made to format the price in bold, just as before, but a search engine reading the tag would be able to understand that this is a price, and use it as a criteria for future searches. The user would not see any difference; the computers could use this as part of their semantic web.
The resources and their definitions are defined using the Resource Description Framework (RDF)[11] which provides a framework for describing resources within XML contexts.
It can be seen that XML is a language about languages. We propose a new markup language called Giving Markup Language, or GML. It would allow people and computers to understand information in both human and machine-readable ways. It supports a new form of interaction in the philanthropic community, allowing people to communicate their needs, resources, trust, activities, and experiences in entirely new ways. The language does not define what to DO with the information – that is another level of abstraction. However, higher levels of processing such as the chain of trust, follow up notes, searching, coordinating, etc, all depend on a shared meaning of the information. It allows a document to define a need for a wheel chair in Freetown, the chain of trust by which this need was entered, and annotate that a specific donor has committed to responding to this need. The language itself, however, does not address the issues of how to find the need and donor, nor the database by which the trust relationships are maintained. In order to define GML, we must create Document Type Descriptors (DTD) which define the documents which would flow and be stored in GivingSpace. A simple example of GML illustrates how we can markup a document to “chunk” it into sections that can be understood by computers and humans alike. This example shows the internal, fully expanded version of the markup:
<Donor Oportunity>
Possibilities:
Chain of Trust:
Recommended by
<trusted person>Tom
Munnecke mailto:tom@munnecke.com April 3,
2001</trusted person>
via <trusted person>Uli
Heine[mailto:uheine@projectconcern.org]
of Project Concern International http://www.projectconcern.org April 2, 2001</trusted person>
via <trusted person>Leonel
Arguello, [SMTP:leonel@ibw.com.ni] Nicaragua
country director for Project Concern: April 2, 2001 </trusted person>
Miscellaneous trust notes:
<trust note>Tom
met Leonel and his wife at a dinner at his home in January, 2001, and was impressed
with his sincerity and energy; hopes to take them up on their invitation to
visit Nicaragua later this year. </trust note>
<trust note>Uli
emailed Tom with introduction on April 3, 2001:
From: Leonel Arguello [SMTP:leonel@ibw.com.ni]
<mailto:[SMTP:leonel@ibw.com.ni]>
Sent: Monday, April 02, 2001 3:15 PM
To: uheine@projectconcern.org <mailto:uheine@projectconcern.org>
Subject: Pending
Hi Uli, do you remember I
wrote you a letter with some inquires about this donor and member of PCI boar of
director?
Well I do have two persons,
as you told me, here are their histories:
Mrs. Cristina Acevedo,
mother of 4 children, earn her money washing other clothes once in a while, and
sometimes also ironing, when she obtain some funds, she buy animal bones, and
she sell the bones to obtain some profits.
If she has access to an
economical aid, she could be able to improve her current economical condition
and can help the children, so they can go to school.
Ramiro Rocha, a young man,
with 3 children under 7 years old, he is a tailor and when he is able to buy
some merchandise or clothes, he can make pants and shorts to sell it within his
community, at the market and obtain some income.
Both persons are willing to
paid their loans.
I hope this is what you were
looking for. Regards. Leonel</trust note>
<opportunity>Mrs. Cristina Acevedo,
mother of 4 children, earn her money washing other clothes once in a while, and
sometimes also ironing, when she obtain some funds, she buy animal bones, and
she sell the bones to obtain some profits.
If she has access to an
economical aid, she could be able to improve her current economical condition
and can help the children, so they can go to school. Contact: <contact>
Leonel Arguello [SMTP:leonel@ibw.com.ni]
</contact></opportunity>
<opportunity>Ramiro Rocha, a young man,
with 3 children under 7 years old, he is a tailor and when he is able to buy
some merchandise or clothes, he can make pants and shorts to sell it within his
community, at the market and obtain some income. Contact: <contact>
Leonel Arguello [SMTP:leonel@ibw.com.ni]
</contact></opportunity>
</donor opportunity>
Possibilities:
Chain of Trust:
Recommended by
Tom Munnecke mailto:tom@munnecke.com April 3, 2001
via
Uli Heine[mailto:uheine@projectconcern.org]
of Project Concern International http://www.projectconcern.org April 2, 2001
via
Leonel Arguello, [SMTP:leonel@ibw.com.ni]
Nicaragua country director for Project Concern: April 2, 2001
Miscellaneous trust notes:
1. Tom met Leonel and his
wife at a dinner at his home in January, 2001, and was impressed with his
sincerity and energy; hopes to take them up on their invitation to visit Nicaragua
later this year.
2. Uli emailed Tom with
introduction on April 3, 2001:
From: Leonel Arguello [SMTP:leonel@ibw.com.ni]
<mailto:[SMTP:leonel@ibw.com.ni]>
Sent: Monday, April 02, 2001 3:15 PM
To: uheine@projectconcern.org
<mailto:uheine@projectconcern.org>
Subject: Pending
Hi
Uli, do you remember I wrote you a letter with some inquires about this donor
and member of PCI boar of director?
Well
I do have two persons, as you told me, here are their histories:
Mrs.
Cristina Acevedo, mother of 4 children, earn her money washing other clothes
once in a while, and sometimes also ironing, when she obtain some funds, she
buy animal bones, and she sell the bones to obtain some profits.
If
she has access to an economical aid, she could be able to improve her current
economical condition and can help the children, so they can go to school.
Ramiro
Rocha, a young man, with 3 children under 7 years old, he is a tailor and when
he is able to buy some merchandise or clothes, he can make pants and shorts to
sell it within his community, at the market and obtain some income.
Both
persons are willing to paid their loans.
I
hope this is what you were looking for. Regards. Leonel
Opportunity 1
Mrs. Cristina Acevedo,
mother of 4 children, earn her money washing other clothes once in a while, and
sometimes also ironing, when she obtain some funds, she buy animal bones, and
she sell the bones to obtain some profits.
If she has access to an
economical aid, she could be able to improve her current economical condition
and can help the children, so they can go to school. Contact: Leonel Arguello [SMTP:leonel@ibw.com.ni]
Opportunity 2
Ramiro Rocha, a young man, with
3 children under 7 years old, he is a tailor and when he is able to buy some
merchandise or clothes, he can make pants and shorts to sell it within his
community, at the market and obtain some income. Contact: Leonel Arguello [SMTP:leonel@ibw.com.ni]
<Donor Oportunity>
<trusted person>Tom
Munnecke mailto:tom@munnecke.com April 3,
2001</trusted person>
<trusted person>Uli
Heine[mailto:uheine@projectconcern.org]
of Project Concern International http://www.projectconcern.org April 2, 2001</trusted person>
<trusted person>Leonel
Arguello, [SMTP:leonel@ibw.com.ni] Nicaragua
country director for Project Concern: April 2, 2001 </trusted person>
<trust note>Tom
met Leonel and his wife at a dinner at his home in January, 2001, and was
impressed with his sincerity and energy; hopes to take them up on their
invitation to visit Nicaragua later this year. </trust note>
<trust note>Uli
emailed Tom with introduction on April 3, 2001:
From: Leonel Arguello [SMTP:leonel@ibw.com.ni]
<mailto:[SMTP:leonel@ibw.com.ni]>
Sent: Monday, April 02, 2001 3:15 PM
To: uheine@projectconcern.org <mailto:uheine@projectconcern.org>
Subject: Pending
Hi Uli, do you remember I
wrote you a letter with some inquires about this donor and member of PCI boar
of director?
Well I do have two persons,
as you told me, here are their histories:
Mrs. Cristina Acevedo,
mother of 4 children, earn her money washing other clothes once in a while, and
sometimes also ironing, when she obtain some funds, she buy animal bones, and
she sell the bones to obtain some profits.
If she has access to an
economical aid, she could be able to improve her current economical condition
and can help the children, so they can go to school.
Ramiro Rocha, a young man,
with 3 children under 7 years old, he is a tailor and when he is able to buy
some merchandise or clothes, he can make pants and shorts to sell it within his
community, at the market and obtain some income.
Both persons are willing to
paid their loans.
I hope this is what you were
looking for. Regards. Leonel</trust note>
<opportunity>Mrs. Cristina Acevedo,
mother of 4 children, earn her money washing other clothes once in a while, and
sometimes also ironing, when she obtain some funds, she buy animal bones, and
she sell the bones to obtain some profits.
If she has access to an
economical aid, she could be able to improve her current economical condition
and can help the children, so they can go to school. Contact: <contact>
Leonel Arguello [SMTP:leonel@ibw.com.ni]
</contact></opportunity>
<opportunity>Ramiro Rocha, a young man,
with 3 children under 7 years old, he is a tailor and when he is able to buy
some merchandise or clothes, he can make pants and shorts to sell it within his
community, at the market and obtain some income. Contact: <contact>
Leonel Arguello [SMTP:leonel@ibw.com.ni]
</contact></opportunity>
</donor
opportunity>
SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. SOAP can potentially be used in combination with a variety of other protocols; however, the only bindings defined in this document describe how to use SOAP in combination with HTTP and HTTP Extension Framework.
SOAP can be used to define transactions directly against Web Servers using standard HTTP interaction for synchronous activities – both client and server are connected. It can also deliver its “payload” through SMTP electronic mail services, allowing asynchronous transactions. For example, a user could download images from a digital camera, wrap them in a SOAP transaction, and send them via electronic mail to a mail server capable of reading them. This would allow a field worker to take images in remote locations, perhaps with GPS time and location coordinates, store them on a memory card, then download them through a phone line in an office. Even if the phone line were of marginal quality, and didn’t allow consistent web access, the message could be sent as an email message.
One example use of the technology would be for the field worker to record the location and identification of an image verbally as the image was being recorded, either a single image (JPG) or moving image (MPEG). A voice recognition application would recognize the identifier, and route the image to the appropriate SOAP service accordingly.
UDDI
provides a mechanism for clients to dynamically find other web services. Using
a UDDI interface, businesses can dynamically connect to services provided by
external business partners. A UDDI registry is similar to a CORBA trader, or it
can be thought of as a DNS service for business applications. A UDDI registry
has two kinds of clients: businesses that want to publish a service (and its
usage interfaces), and clients who want to obtain services of a certain kind
and bind programmatically to them. The table below is an overview of what UDDI
provides. UDDI is layered over SOAP and assumes that requests and
responses are UDDI objects sent around as SOAP messages. A sample query is
included below.
|
Information |
Operations |
Detailed information (supported by lower-level API) |
|
White pages: Information such as the name, address, telephone number, and other contact information of a given business |
Publish: How the provider of a Web service registers itself. |
Business information: Contained in a BusinessEntity object, which in turn contains information about services, categories, contacts, URLs, and other things necessary to interact with a given business. |
|
Yellow pages: Information that categorizes businesses. This is based on existing (non-electronic) standards |
Find: How an application finds a particular Web service. |
Service information: Describes a group of Web services. These are contained in a BusinessService object |
|
Green pages: Technical information about the Web services provided by a given business. |
Bind: How an application connects to, and interacts with, a Web service after it's been found |
Binding information: The technical details necessary to invoke a Web service. This includes URLs, information about method names, argument types, and so on. The BindingTemplate object represents this data. Service Specification Detail: This is metadata about the various specifications implemented by a given Web service. These are called tModels in the UDDI specification |
There is no near-term plan in UDDI to support full-featured discovery (e.g. geography-limited searches or bidding and contract negotiation supported by vendors like eLance). UDDI expects to be the basis for higher level services supported by some other standard. There are plans for UDDI to support more complex business logic, including support for hierarchical business organizations. UDDI has fairly broad support; IBM, Ariba, and Microsoft are driving it. It's not yet an open standard.
Query: The following query, when placed inside the body of the SOAP envelope, returns details on Microsoft.
<find_business
generic="1.0" xmlns="urn:uddi-org:api">
<name>Microsoft</name>
</find_business>
Result: detailed listing of <businessInfo> elements currently registered for Microsoft, which includes information about the UDDI service itself.
<businessList generic="1.0" operator="Microsoft Corporation" truncated="false" xmlns="urn:uddi-org:api"> <businessInfos> <businessInfobusinessKey="0076B468-EB27-42E5-AC09-9955CFF462A3">
<name>Microsoft Corporation</name> <description xml:lang="en"> Empowering people through great software - any time, any place and on any device is Microsoft's vision. As the worldwide leader in software for personal
and business computing, we strive to produce innovative products and services that meet our customer's </description> <serviceInfos> <serviceInfobusinessKey="0076B468-EB27-42E5-AC09-9955CFF462A3"
serviceKey="1FFE1F71-2AF3-45FB-B788-09AF7FF151A4"><name>Web services for smart searching</name>
</serviceInfo> <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" serviceKey="8BF2F51F-8ED4-43FE-B665-38D8205D1333"> <name>Electronic Business Integration Services</name> </serviceInfo> <serviceInfo businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" serviceKey="611C5867-384E-4FFD-B49C-28F93A7B4F9B"> <name>Volume Licensing Select Program</name>
</serviceInfo><serviceInfo
businessKey="0076B468-EB27-42E5-AC09-9955CFF462A3" serviceKey="A8E4999A-21A3-47FA-802E-EE50A88B266F"><name>UDDI Web Sites</name>
</serviceInfo> </serviceInfos> </businessInfo> </businessInfos></businessList>
Much of the activities in GivingSpace will be based on geographical locations in remote areas of the world. Even health care information systems in the United States face this problem. The Indian Health Service, for example, has patients whose address is (“100 yards past the oak tree”) Location cannot always be defined with a street address.
GIS technology allows the use of Global Positioning systems (GPS) which can define latitude and longitude to within 15 feet anywhere on earth (which has access to the sky – skyscrapers and wet foliage can impair GPS access). It can resolve altitude to a lesser accuracy (100s of feet), and time to very great precision (within milliseconds of the standard clock). Simple GPS units are now available for around $100, and are even appearing on wrist watches. It is likely that they will appear in digital cameras, so that an image can be electronically “stamped” with latitude, longitude, altitude, and time. This information could then be marked up in GML, allowing a myriad of uses:
Follow up on a donor’s gift. The image could depict a village bank
meeting, a wheelchair being delivered, or food being distributed.
Maintaining a chain of trust. The image could be used to verify that the
promised activity took place.
Communicating needs. The image could be entered into the
opportunity catalog, showing precisely what is needed, and where.
As a general coordinating system. People could discover who is active in what areas. For example, an NGO supporting village banks in remote areas in Nepal could be located by someone trying to spread the use of solar cookers. By matching NGO activity with climate charts, the solar cooking advocates could “upsell” village banking opportunities. Donors who clicked on “start a village bank in Nepal” would see an additional offer to support a solar cooking activity, carried to the village by the same case worker. This would encourage and facilitate distinct NGOs with different niches to work together in common geographical locations. It would enhance their trust ratings, make them both more efficient, and attract more donors who were seeking the greatest “bang for buck” of their donation.
A strong GIS orientation within GivingSpace would facilitate many positive interactions at the “grass roots” level. NGOs would see it in their best interest to work together, creating win-win situations out of their own self-interest.
The USGS node of the National Geospatial Data Clearinghouse is a component of the National Spatial Data Infrastructure (NSDI). The Clearinghouse provides a pathway to find information about geospatial or spatially referenced data available from USGS. The information is in the form of metadata. Metadata or "data about data" describe the content, quality, condition, and other characteristics of data. Metadata are used to organize and maintain investments in data, to provide information to data catalogs and clearinghouses, and to aid data transfers. This site is maintained by the USGS in cooperation with the U.S. Federal Geographic Data Committee (FGDC).
In practice, this suggest that one should
leave the actual choice of the transformation language as a flexibility point.
However, as with most choices of computer language, the general "principle
least power" applies:
|
When expressing something, use the least powerful language you can. |
While being able to express a very complex
function may feel good, the result will in general be less useful. As Lao-Tse
puts it, "Usefulness
from what is not there". From the point of view of translation algorithms,
one usefulness is for them to be reversible. In the case in which you are
trying to prove something (such as access to a web site or financial
credibility) you need to be able to derive a document of a given form. The
rules you use are the pieces of the web of trust and you are looking for a path
through the web of trust. Clearly, one approach is to enumerate all the things
which can be deduced from a given document, but it is faster to have an idea of
which algorithms to apply.
http://www.w3.org/DesignIssues/Principles.html
The architecture of RDF and the semantic
web build on it is a plan but not yet all a reality. There are various pieces
of the puzzle which seem to fall into a chronological order, although the turn
of events may change that. (Links below are into the Semantic Web
roadmap)
1. XML provides a basic format for structured
documents, with no particular semantics.
2. The basic assertion
model provides the concepts of assertion (property) and quotation. (This is
provided by the RDF Model and
Syntax Specification). This allows an entity-relationship-like model to be
made for the data, giving it the semantics of assertions propositional logic.
See the Cambridge
Communiqué about the XML-RDF relationship) The RDF syntax was considered in
need of a change.
3. The schema language provides
data typing and allows document structure to be constrained to allow
predictable computable processing. See XML schema's structure and datatypes
drafts.
4. A conversion
language allows the expression of inference rules allowing information in
one schema to be inferred from a document in another.
5. The logical layer
turns a limited declarative language into a Turing-complete logical language,
with inference and functions. This is powerful enough to be able to define all
the rest, and allow any two RDF applications to be connected together. However,
without being profiled for use, it does not address specific applications. One
can see this language as being a universal language to unify all data systems
just as HTML was a language to unify all human documentation systems.
6. A proof language is a form of RDF which
allows one agent to send to another an assertion, together with the inference
path to that assertion from assumptions acceptable to the receiver. This allows
applications such as access control to use a generic validation engine as the
kernel, with very case-specific tools for producing proofs of access according
to whatever social rules have been devised for the case. A W3C Recommendation
for the language and capabilities of a standard proof engine would be very
appropriate.
7. An evolution rules language
allows inference rules to be given which allow a machine with a certain
algorithm to do convert documents from one RDF schema into another. This is a
fundamental key to evolution
of the technology.
8. Query languages
assume different forms of query engine. One can imagine standardizing both
certain query engines and a language for defining query engines. See the RDF Interest
Group for discussion of querying logically.
Once one has a proof language, then the
introduction of digital
signature turns what was a web of reason into a web of trust. The
development of digital signature functionality in the RDF world can in
principle happen in parallel with the stages above. As more expressive logical
languages become available, then but it requires that the logical layer be
defined as a basis for defining the new primitives which describe signature and
inference in a world which includes digital signature.
A single digital signature format for XML
documents is important. The power of the RDF logical layers will allow existing
certificate schemes to be converted into RDF, and a trust path to be verified
by a generic RDF engine.