Semantic Web Languages: RDF vs. SOAP Serialisation Stefan Haustein University of Dortmund, Computer Science VIII, D-44221 Dortmund, Germany haustein@ls8.cs.uni-dortmund.de ABSTRACT gestion is not to use SOAP just as a syntax encoding of the Although RDF is considered the Semantic Web language, RDF data model but to build a part of the Semantic Web it may not be the only one. SOAP serialisation provides on SOAP serialisation in the rst place. several advantages, especially if the Semantic Web is not just about providing meta data for existing web pages, but 2. RDF EVOLUTION also about exchange of content that is machine-readable in The Resource Description Framework (RDF) [15] was the rst place. This paper discusses some problems with originally designed by the World Wide Web Consortium the RDF syntax and data model. RDF is compared to (W3C) as a meta-language for annotating existing web pages SOAP, and some SOAP advantages like better integration with additional machine-readable information. A typical with existing standards and systems, improved readability, RDF application is the Platform for Internet Content Se- and industry support are pointed out. lection (PICS) [6], that is intended to annotate existing web Keywords: SOAP Serialisation, RDF, RDFS, Object- resources with meta-data about e.g. the suitability of the Orientation content for children. Although RDF was originally designed for annotation of existing web pages only, it is currently widely considered 1. INTRODUCTION as machine-readable format for the Semantic Web and the What are the consequences if the term \Semantic Web" DARPA Agent Meta Language (DAML). does not just mean HTML with some meta-data, but also However, when using RDF as the primary information content that is machine-readable in the rst place, thus be- format, and not just for meta data annotation, some issues ing suitable for applications like software agent communica- arise. These problems are described in detail in the following tion? Although RDF is suitable for that purpose, its syntax sections. For an overview of additional general RDF issues and data model are clearly optimised for annotating exist- and inconsistencies, the reader is referred to [4] and [10]. ing documents with meta data, describing existing web re- sources using a machine readable format. In contrast to HTML, the exibility of XML allows stor- 3. RDF SYNTAX ISSUES ing all relevant (meta) data in a machine-readable format The requirement that RDF should be usable for annotat- in the rst place. With the increasing separation of content ing existing pages with meta-data without breaking browser and layout into XML and XSLT les, and the dynamic gen- compatibility for the actual content resulted in a syntax that eration of (X)HTML, the need for a separate meta model is more complicated than necessary for plain RDF docu- may decrease. Naturally, RDF is well suited for annotat- ments. Also, several alternative syntax forms exist. All ing the generated HTML with information like PICS, but is alternatives are semantically equivalent, but have di erent content annotation really all the Semantic Web is about? e ects on the rendering process in the browser that is used This article discusses some serious issues concerning the to view the document. RDF syntax and data model when used as a primary ma- The general RDF syntax consists of simple resource de- chine readable content format, instead of just adding meta- scriptions (\properties") embedded in a \description" ele- data to existing HTML or XML pages. It presents SOAP ment. In order to illustrate RDF and SOAP syntax alterna- serialisation as an alternative. In contrast to [16], the sug- tives, a FIPA 2000 Agent Platform description [14] is used as a common example here, where the serialised instances are taken from the Paris Agentcities node ApDescription1 . Al- though the Paris node Agent Platform Description consists Permission to make digital or hard copies of all or part of this work for of four small objects only, the corresponding RDF serialisa- personal or classroom use is granted without fee provided that copies are tion ( gure 1) becomes rather verbose. not made or distributed for profit or commercial advantage and that copies In the RDF example, the rdf:Description elements are bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific already replaced by their abbreviated form for improved permission by the authors. Semantic Web Workshop 2001 Hongkong, China 1 see http://www.agentcities.org/Cities/paris city.html, the Copyright by the authors. dashes are replaced by \Camel" syntax for compatibility paris.agentcities.org true true fipa.mts.mtp.iiop.std iiop://leap.crm-paris.com:9000/paris.agentcities.org/acc iiopname://leap.crm-paris.com:9000/paris.agentcities.org/acc fipa.mts.mtp.http.std http://leap.crm-paris.com:8080/acc Figure 1: RDF Syntax Example readability. The example encoding is not the only RDF en- coding option, though. RDF allows several syntax variants: paris.agentcities.org true Resource description and type abbreviation: An true rdf:Description element may be replaced by an element named like the type of the resource described, ... also obsoleting a corresponding rdf:type element. In the example, the abbreviated form was already used. All object descriptions in the example could be replaced by the corresponding standard form. For example, is equivalent to ... paris.agentcities.org true true is equivalent to ... ... The various RDF syntax options lead to two main prob- lems: XSLT (and XML Schema) compatibility problems and Obviously, the second variant adds ve extra elements problems with human readability. to the example code. 3.1 XSLT Compatibility Using attributes instead of elements: RDF elements The Extensible Stylesheet Language Transformations may be replaced by attributes if they occur only once (XSLT) were designed with the main goal of separating the in their parent element, and contain only literal text content and layout of Web pages. The basic idea is to de- sign the original page using an XML language. The XML without further substructures. For example, some of content is then converted to a \regular" (X)HTML page by the ApDescription sub-elements could be replaced by an XSLT template. attributes: The various RDF encoding options described above make development of XSLT templates for RDF dicult: In or- der to be fully applicable to RDF, XSLT templates would need to de ne a mapping covering all possible syntax alter- paris.agentcities.org natives. It would certainly be possible to design relatively true true simple XSLT templates for one concrete serialised form of ... RDF. But then the XSLT transformation would become ei- ther very fragile, or another processing step converting any RDF le to the form expected by the template would be necessary. is equivalent to 3.2 Human Readability Another problem with RDF is human-readability. While is actually dicult to read for humans. Again, the main ... reason are the meta language roots of RDF. With the various syntax options, it is even quite dicult to just see if two RDF documents are semantically equivalent. In order to read RDF documents, a human must be familiar with all syntax variants of RDF. When RDF is used to annotate an Nesting instead of linking Instead of referring to an ob- existing HTML page, the situation becomes even worse since ject using the rdf:resource attribute, the correspond- it is often dicult to di erentiate between RDF annotation ing object can be embedded into the predicate element. and actual content. In addition, the verbosity of RDF makes In the original example, all objects are embedded for it dicult to read when compared to other XML languages better readability. or SOAP. 4. RDF DATA MODEL ISSUES The main problem is that there is no intuitive mapping. While it seems relatively simple to x the problems con- All mappings have their own advantages and disadvantages, cerning the RDF syntax, this is far more dicult for the without one being clearly preferable to the others. More- RDF data model. over, except from the facets solution, which has the dis- The RDF data model is very simple. It is basically a advantage of extending RDFS, it is not possible to apply labelled graph consisting of (subject predicate object) the inverse mapping to any RDFS schema without precon- triples. With the RDF Schema language (RDFS [5]), the ditions. The inverse mapping is only possible if the RDFS data model becomes signi cantly more structured. RDFS is already of the right "form". It is not possible to gen- introduces a type system that can be used to express prop- erate compatible RDF among di erent mappings by using erty constraints. Figure 2 shows the RDFS diagram corre- the output from one mapping as input for another (inverse) sponding to the RDF example. An corresponding Uni ed mapping. So even if all mappings are using RDFS as their Modelling Language (UML) [17] diagram of the ontology is target format, that does not help for interoperability at all. shown in gure 3. Furthermore, this problem does not only a ect connecting To some extent, RDFS is similar to object oriented struc- existing systems to the Semantic Web, but also ontology tures, except that properties must have globally unique design using UML [9]. When using UML in the ontology names. The RDFS speci cation claims that the property design process, it becomes necessary to take special care of centric approach makes it "very easy for anyone to say any- property names again. thing they want about existing resources, which is one of Concatenating a property name with the domain name or the architectural principles of the Web". However, deviating a namespaces may also create problems for derived classes from \standard" object orientation also raises some interop- inheriting that property. All derived classes are a valid do- erability issues with existing system or modelling tools. main for the property, too, but one would need to remember the domain where the property was de ned for constructing 4.1 Compatibility to Object Oriented Systems the right name and thus being able to access the property. Unfortunately, treating properties as rst class members Another signi cant di erence between the RDFS data of the data model makes it impossible to map existing ob- model and standard object oriented systems is that a ject hierarchies or database systems to RDFS automatically, resource can have more than one type. For example, without additional handling of property names to ensure the Protege system is not able to handle this without global uniqueness. This is not just a problem with object- workaround. Protege was designed to allow only one class oriented systems or relational databases, also knowledge sys- for each instance because of user interface considerations. tems like Ontobroker [11] or Protege [12] are seriously af- Protege solves the problem by internally creating arti cial fected. When properties have a global domain and range concepts that are merged from the di erent types of a re- de nition, it is not possible to re ne the de nition in a sub- source. class. It is also not possible for di erent classes to use the Please note that two di erent descriptions of one object same property name with di erent value and domain restric- can exist without requiring that an object is allowed to have tions [19]. several types. The described object and the descriptions just In order to work around this problem, di erent mappings need to be separate objects. already exist, all having their own advantages and disadvan- 4.2 Statements about Statements tages, and it is quite simple to invent new ones. Possibilities The RDF data model is a set of (subject predicate are: object) statements, where the statements themselves do Facets: Facets were added to RDF by Stefan Decker to sim- not have an address. In order to be able to make statements plify RDF compatibility of the Protege system [18]. about statements, it is necessary to model the original state- The idea behind facets is to allow multiple ranges and ment as a resource having a subject, a predicate, an object, re nements for properties. The mapping problem for and a type. other OO systems could be solved by introducing con- icting properties at a common base class and intro- 5. SOAP ducing the actual restrictions later where needed. A potential alternative to RDF may be contained in the Simple Object Access Protocol (SOAP) [3] speci cation. Name Concatenation: Stephen Crane eld designed an SOAP is a speci cation covering remote procedure calls over XSLT template mapping the property names to glob- HTTP. It contains an object serialisation format that can ally unique names by just concatenating them with the be compared to the Resource Description Format (RDF) to class names [8]. Applied to the UML diagram repre- some extent, even if RDF is not just an object serialisation senting the course sample schema shown in Figure 3, format. Although RDF was already existing when SOAP the generated RDF Schema would be identical to Fig- was being speci ed, RDF was not chosen as the default se- ure 2, except that all property names were concate- rialisation format for SOAP. Instead, SOAP introduces a nated the corresponding domain name. For example, completely new format de ned from scratch. name would be renamed to ApDescription.name. SOAP is supported by computer industry leaders like Mi- crosoft, IBM and SUN. The simplicity of SOAP together Other options: It is quite simple to invent other mecha- with the support from the industry suggests that many nisms to ensure globally unique property names. For SOAP-based services will be available in the near future. example, a dedicated XML namespace could be as- While industry support is usually not really relevant for re- signed to each object, preserving the original name search, research in Arti cial Intelligence may take signi cant but requiring extensive usage of XML namespaces. advantage from the amount of structured data provided by name range domain rdf:type ApDescription domain dynamic rdf:type rdfs:Property rdf:type rdfs:Class rdf:type rdf:type rdf:type transportdescription range Literal rdf:type ApTransportDescription range domain availableMtps rdfs:subclassOf rdfs:ressource rdfs:subclassOf mtpName range rdfs:Bag domain MtpDescription domain profile addresses Figure 2: RDF Schema of the FIPA AP description ApDescription ApTransportDescription MtpDescription +name:String +profile:String +dynamic:boolean +mtpName:String +mobility:String +addresses:String[] 1 1..* transportProfile availableMtps Figure 3: UML Diagram of the FIPA Agent Platform Description a Semantic Web that is widely accepted and used. SOAP expressions in object oriented programming or query lan- Implementations are available for a wide range of program- guages. If the type of a property is not xed, it can be re- ming languages (C++, Java, Perl, Python)2 . In contrast to solved by adding a type attribute (e.g. ). Moving the type machines over the Internet, so it may a ect the Semantic information into an attribute maintains the advantage of the Web in many ways or even become a signi cant part of it. reduced nesting level when compared to RDF. SOAP is suitable for all kinds of automated Internet services Similar to RDF, SOAP allows alternative syntax forms for like weather forecasts, trac services, or logistics coordina- embedded and referenced objects, but in contrast to RDF tion. Although SOAP supports alternative content formats, the speci cation contains clear rules when an object is em- it is likely that most of the content will actually be encoded bedded and when it is referenced: Objects may be embedded using SOAP serialisation. Thus, some questions arise: How if there exists only one referenced to them, otherwise they can SOAP be integrated into the Semantic Web? Can the are linked. And in contrast to RDF, SOAP serialisation Semantic Web pro t from SOAP services? does not allow additional abbreviated or alternative XML In his WWW9 presentation, Henrik Frystyk Nielsen ([16]) syntaxes. Actually, there is no need for an abbreviated syn- demonstrated how RDF can be encoded utilising the SOAP tax since SOAP serialisation is compact enough in the rst serialisation syntax. While he states in his presentation that place. SOAP is not meant to replace RDF, this is clearly one of the The complete speci cation of SOAP serialisation syntax possible future scenarios in the areas where \Semantic Web" is given in [3]. means exchange of information that is machine readable in the rst place. 5.3 SOAP Data Model SOAP is based on a simple object oriented data model. 5.1 SOAP and CORBA The SOAP Data Model consists of structured objects having Although SOAP was originally designed as a remote properties and a type. Thus, the basic building blocks are method invocation protocol running over the Internet, more complex than plain RDF. However, when compared SOAP is not just another Common Object Request Broker to RDFS, there is no signi cant di erence. Larger basic Architecture (CORBA). SOAP di ers from CORBA in sig- building blocks may have advantages e.g. when tracking the ni cant points: source of statements: The source information would be at- tached to just one object instead of needing rei cation for a Human Readability: In contrast to the CORBA Inter- lot of RDF statements. Also, when constructing URLs from net Inter ORB Protocol (IIOP), SOAP is not a bi- OIDs, it becomes very simple to make statements about nary format but an XML-based format that is human- statements, again avoiding explicit rei cation that would be readable. Even if SOAP is mainly intended to be read required in RDF. by machines, human readability is very helpful for de- In contrast to RDF, SOAP does not come along with its bugging purposes and quick implementation. own schema language. Instead, XML Schema is used for validation of the syntactical correctness of SOAP serialised Simple Installation: While CORBA requires huge soft- objects. While XML Schema does not seem the appropriate ware packages and does not provide a commonly ac- level of ontology modelling, SOAP serialisation ts well into cepted bootstrapping mechanism, SOAP is based on UML modelling without the property naming problems of HTTP and can be implemented with little e ort on RDF. And when comparing the RDFS and UML diagrams top of existing libraries for XML and HTTP. ( gure 3 and gure 2), UML seems signi cantly more ap- propriate for modelling ontologies. Even if SOAP still lacks a reasonable security model, it has the potential to become the connecting point between Java, Perl and Microsoft's .NET architecture by just o ering 6. IS SOAP SUITABLE FOR THE SEMAN- a suitable feature set, while still being simple enough to be TIC WEB? implemented by a broad range of programmers. As shown in the preceding sections, SOAP has advantages 5.2 SOAP Syntax over RDF in several areas. But does that mean that SOAP is sucient to build a \Semantic Web"? The Semantic Web Probably the main reason for SOAP becoming quite pop- is meant to be more than just turning some existing object- ular in the very short time it is available now is its simplicity. oriented systems into SOAP services. How can a collection The serialised format of the FIPA example encoded in SOAP of SOAP services evolve into a Semantic Web? Are there any is shown in Figure 4. The format is much more similar to RDF core features missing in SOAP? Can the advantages of an XML special purpose format designed \by hand" than SOAP and RDF be combined to accelerate or simplify the the RDF serialisation. process of building a Semantic Web? The main di erence visible on rst glance is the re- duced nesting level of XML elements. In RDF, both ob- 6.1 Using SOAP Syntax for the RDF Data jects and properties have their own tags. In SOAP, the Model nested tags starting a new object are always merged with Henrik Frystyk Nielsen [16] suggests to apply SOAP seri- the property tags if possible. This also has the advantage alisation to the RDF data model to simplify integration of that navigating through a SOAP serialised document us- the SOAP RMI protocol with RDF data. Since this would ing path expressions becomes very similar to usual path mean yet another alternative syntax, the RDF syntax sit- 2 http://www.superopendirectory.com/directory/4/ uation would not be simpli ed, except if the new syntax standards/23/implementations became the only one. But limiting RDF syntax variants paris.agentcities.org true true fipa.mts.mtp.iiop.std iiop://leap.crm-paris.com:9000/paris.agentcities.org/acc iiopname://leap.crm-paris.com:9000/paris.agentcities.org/acc fipa.mts.mtp.http.std http://leap.crm-paris.com:8080/acc Figure 4: SOAP Syntax Example in general would generate problems when using RDF for its 6.3 Schema Language original purpose of annotating existing documents. Also, the The SOAP speci cation does not contain any schema lan- proposed syntax would not help for a seamless integration guage, but refers to XML Schema for syntax validation. of other SOAP-based services since the property mapping However, a syntax speci cation language like XML Schema problem would persist. is not really suitable for modelling ontological elements like classes, attributes and associations. Actually, the SOAP speci cation just describes how to get an XML Schema from the data structure and not vice versa. 6.2 Saying Anything about Anything But even if SOAP does not come along with its own In [2], Tim Berners-Lee justi es the usage of the property- schema language, the SOAP data model ts quite well into centric data model instead of an \usual" object-oriented UML. Thus, UML tools can be used for modelling, without data model by claiming that object-oriented systems gen- the limitations shown for the RDF case. erally assume that information about an object is stored Furthermore, even if SOAP describes instance serialisa- inside that object. So, in order to be able to say anything tion only, the UML meta model [17] can still be utilised about anything, it becomes necessary to store the properties to serialise UML models using SOAP serialisation syntax. apart from the object. Some UML constructs would require the de nition of a con- While for object oriented systems it is true that property crete mapping, but there is no general incompatibility in information is stored with the objects, this does not mean the data model. Distinction between di erent types of as- that objects cannot hold information about other objects. sociations in UML could also be utilised to de ne the cases So there is no real requirement that e.g. the PICS rating where embedded objects are allowed in SOAP serialisation of an HTML page is a property of that page. It could also more clearly. be a separate object holding a pointer to the original page. A more complex example could be a car being the primary object and its description stored at an insurance company. 6.4 Integration of existing Services and Sys- Even if a \standard" object-oriented data model is suit- tems able for the Semantic Web, there is still a problem with In his XML2000 keynote, Tim Berners-Lee suggested to SOAP. The SOAP speci cation does not specify how to as- use "screen-scraper"-like XSLT templates to convert XML sign URLs to objects. There is also no general mechanism to into RDF for the starting century of the a Semantic Web say \something" about a given URL. However, it seems rel- [1], like shown in gure 5. However, the SOAP serialisation atively simple to assign URLs to objects built from the ser- syntax is simple enough to be widely accepted as a general vice address and a local unique number (OID). If an object XML modelling convention. So it may be possible to elim- is intended to describe a resource, it could have an \about" inate the need for an additional \screen scraping" template property like in the SOAP-encoded RDF syntax proposed in many cases. Also, the compatibility with XSLT allows by Henrik Frystyk Nielsen [16]. building HTML or WML transformation templates, just like for XML languages designed \by hand". Moreover, since SOAP ts nicely into existing object ori- ented and relational database systems, it may simplify the schema generation process. Instead of needing to design an XML DTD or XML Schema, it would be sucient to agree on an UML diagram, allowing a much more appropriate level of abstraction. Another SOAP advantage is that SOAP quite nicely in- tegrates with a lot of existing standards (Table 1). This Server (XML) was already discussed for XSLT and UML, but we also have a well designed query language for object oriented systems. The Object Query Language (OQL) [7], designed by the Ob- ject Data Management Group (ODMG) ts perfectly with HTML Transformation RDF "Screen Scraper" SOAP and preserves a high degree of SQL compatibility. (XSLT) (XSLT) 7. WHAT IS MISSING For a real \Semantic Web", the upper logical levels are Browser (HTML) Software Agent missing from SOAP. But this holds for RDF as well, and looking at existing inference systems, it does not seem more dicult to build them for SOAP than for RDF [13]. Also, mechanisms for schema translations may become Figure 5: RDF screen scraping necessary. For example, if a legacy system with a direct SOAP mapping needs to be adapted to a SOAP based stan- dard, or if SOAP based standards for di erent areas need to interoperate. However, this will probably be more sim- ple than general XML-XML translations, where XML-XML translations are possible today using XSLT. Again, the same would be necessary for RDF. 8. CONCLUSION Obviously, we have two formats and data structures that are similar to some extent, and both are relevant for the \Semantic Web", especially when the term means something di erent than annotation of existing pages with additional meta data. The main problem is that both approaches are RDF SOAP dicult to translate into each other. In contrast to SOAP, RDF is suitable for \in place" anno- Serialisation RDF SOAP tation of existing web pages. For being able to say \anything about anything", RDF uses URLs as global unique identi- HTML/WAP generation ? XSLT ers. Although SOAP is not suitable for \in place" annotation Query Language ? OQL and would require an extension assigning URLs to objects in order to become really suitable for the Semantic Web, it Syntax Validation ? XML Schema has several advantages in other areas. SOAP ts quite well into other standards like UML, XSLT and OQL. It provides Schema Serialisation RDFS UML Meta-model a clear and simple syntax. The SOAP Serialisation syntax nearly reaches the quality of a \hand-made" one. Thus, Schema Modelling ? UML SOAP serialisation is suitable as content encoding conven- tion in the rst place. So, in contrast to RDF, an extra conversion step can be avoided completely. Table 1: Integration with existing standards The logical level is not yet covered for both approaches, RDF and SOAP. For the future, it seems to make sense to work on both approaches without dooming the other. Even if looking at SOAP may split the Semantic Web community to some ex- tend, competition may also set free a lot of development energy. Perhaps the logical layer to be built on top of RDF and SOAP may allow for an integration of both approaches at some future point of time. 9. REFERENCES [16] Henrik Frystyk Nielsen. Soap, RDF and the Semantic [1] Tim Barners-Lee. RDF and the Semantic Web. In Web. In WWW9, 2000. XML 2000. GCA, 2000. [17] Object Management Group. OMG Uni ed Modeling [2] Tim Berners-Lee. What the smantic web can Language Speci cation, June 1999. Version 1.3. represent, September 1998. [18] Stanford University. Using Protege-2000 to Edit RDF, http://www.w3.org/DesignIssues/RDFnot.html. June 2000. [3] Don Box, David Ehnebuske, Gopal Kakivaya, Andrew http://www.smi.stanford.edu/projects/protege/protege- Layman, Noah Mendelsohn, Henrik Frystyk Nielsen, rdf/protege-rdf-20000629.html. Satish Thatte, and Dave Winer. Simple Object Access [19] Frank van Harmelen and Dieter Fensel. Practical Protocol (soap) 1.1. Note, World Wide Web knowledge representation for the web. In IJCAI'99 Consortium, 2000. Workshop on Intelligent Information Integration, http://www.w3.org/TR/2000/NOTE-SOAP- 1999. 20000508. [4] Dan Brickley. RDF interest group - issue tracking. Technical report, World Wide Web Consortium, 2000. http://www.w3.org/2000/03/rdf-tracking/. [5] Dan Brickley and R. V. Guha. Ressource Description Framework (RDF) Schema speci cation 1.0. Technical report, World Wide Web Consortium, 2000. http://www.w3.org/TR/CR-rdf-schema-20000327. [6] Dan Brickley and Ralph R. Swick. PICS rating vocabularies in XML/RDF. Technical report, World Wide Web Consortium, 2000. http://www.w3.org/TR/2000/NOTE-rdf-pics- 20000327. [7] R. G. G. Cattell, editor. The Object Database Standard: ODMG 2.0. Morgan Kaufmann, 1997. [8] S. Crane eld. Networked knowledge representation and exchange using UML and RDF. Journal of Digital Information, 1(8), 2001. http://jodi.ecs.soton.ac.uk/. [9] S. Crane eld and M. Purvis. Uml as an ontology modelling language. In Proceedings of the Workshop on Intelligent Information Integration, 16th International Joint Conference on Arti cial Intelligence (IJCAI-99, 1999. [10] Stefan Decker. Proposed updates of RDF, 1999. http://www-db.stanford.edu/stefan/updates.html. [11] Stefan Decker, Michael Erdmann, Dieter Fensel, and Rudi Studer. Ontobroker: Ontology based access to distributed and semi-structured information. In R. Meersman and other, editors, Semantic Issues in Multimedia Systems, Kluwer Academic Publisher, Boston, 1999. Kluwer Academic Publisher, Boston, 1999. [12] H. Eriksson, R. W. Fergerson, Y. Shahar, and M. A. Musen. Automatic generation of ontology editors. In Twelfth Ban Knowledge Acquisition for Knowledge-based systems Workshop, Ban , Alberta, Canada, 1999. [13] A. S. Evans. Reasoning with UML class diagrams. In Proceedings of the Workshop on Industrial Strength Formal Methods (WIFT'98). IEEE Press, 1998. http://www.cs.york.ac.uk/puml/papers/evanswift.pdf. [14] Foundation For Intelligent Physical Agents (FIPA). FIPA Agent Management Speci cation, 2000. http://www. pa.org/specs/ pa00023/XC00023F.pdf. [15] Ora Lassila and Ralph R. Swick. Ressource Description Framework (RDF) model and syntax speci cation. Technical report, World Wide Web Consortium, 1999. http://www.w3.org/TR/1999/REC-RDF-SYNTAX- 19990222.