oday's Web serves primarily as a global space to present information for human consumption. However, it lacks a mechanism for providing information that machines can comprehend or process, allowing them to communicate and interoperate. So, software engineers must work hard to develop intelligent services and automated software agents because they must first agree on the data's syntax and semantics before hard-coding them into their applications. In addition, changes to syntax and semantics necessitate expensive application modifications. We need a Semantic Web 1 with a well-established mechanism to express information that is machineinterpretable and allows syntactic and semantic interoperability among Web applications. Although XML (eXtensible Markup Language) and RDF (Resource Description Framework) offer foundations for, respectively, syntactic and semantic interoperability, their mechanisms cannot accomplish this goal. XML by itself will let the same semantic unit be expressed in more than one syntactic structure. XML, RDF, and RDF Schema combinations might solve this multiple-structures problem, but they would still lack expressive power. For example, axioms, conditions, and constraints could not be specified. 2 OIL 3 (Ontology Inference Layer) and DAML+OIL 4 (DARPA Agent Markup Language + OIL) are two recent improved frame-based languages. They extend RDF Schema by richer sets of modeling primitives for representation of Boolean expressions, axioms, and property restrictions. The semantics of these languages involves mapping such extended RDF statements on corresponding representations in a particular logical theory-for example, on first-order logic sentences-followed by corresponding determination of their semantics. OIL's semantics relies on a translation into the description logic SHIQ, 5 whereas DAML+OIL's is based on KIF (Knowledge Interchange Format) 6 -a language designed for knowledge interchange and based on first-order predicate logic. Their main inference services are class consistency and subsumption checking with other reasoning services, for example, query subsumption and query answering over classes and instances, reformulated in terms of subsumption checking. All these extensions require additional formalisms for XML and RDF to define their semantics or specify axioms and constraints. We need an XML-based language with a single formalism that meets all the requirements of the Semantic Web. Its intended semantics should be precisely and formally definable under its single formalism, and it should support general inference mechanisms. XML Declarative Description 7 aims to fill this need. a Web resource's semantics. It employs XML as its bare syntax and enhances XML expressive power by employing Declarative Description theory. 8 A description in XDD is a set of ordinary XML elements, extended XML elements with variables, and the XML elements' relationships in terms of XML clauses. An ordinary XML element denotes a semantic unit and is a surrogate of an information item in the real application domain. An extended XML element represents implicit information or a set of semantic units. Clauses express rules, conditional relationships, integrity constraints, and ontological axioms. We define the precise and formal semantics of an XDD description as a set of ordinary XML elements, without employing other formalisms. Important axioms that are missing in XML and RDF but expressible in XDD include symmetry, composition-of, and inverse relations. As an example of the inverse-relation axiom, consider the XML clauses A and B in Figure 1a . They model the Creator and Publication properties' inverses assumed by some particular domain. Figure  1b then gives an example of representing an RDF statement C, "A creator of a document entitled 'XDD language' is John." The semantics of an XDD description, which comprises the clauses A, B, and C, will also contain an RDF statement, "A publication of John is 'XDD language'" (Figure 1c ), hence allowing inverse inference of such implicit information. Obviously, this axiom cannot be represented in RDF. XDD can directly represent all XMLbased application markup languages. It also can simply represent XML applications that provide common conventions of semantics, syntax, and structures for certain specific domains. In addition to RDF, these domains include the following: Figure 2 depicts XDD's role in modeling the Semantic Web. The Unicode layer merely views exchanged data as a stream of Unicode characters. Next, the XML layer creates an XML document from the stream. Typically, the obtained document can be merely a document, an XML Schema, an RDF document, an RDF Schema, or a combination of these, because they are similarly encoded in XML syntax. The document's semantics is formally determined in the XDD layer, yielding a set of data objects that are encoded in computer.org/intelligent 55 <rdf:Description about=$S:personP> <rdf:type resource="#Person"/> <Publication resource=$S:documentD/> </rdf:Description> <rdf:Description about=$S:documentD> <rdf:type resource="#E-Document"/> <Creator resource=$S:personP/> $E:D_properties </rdf:Description>. <rdf:Description about=$S:documentD> <rdf:type resource="#E-Document"/> <Creator resource=$S:personP/> </rdf:Description> <rdf:Description about=$S:personP> <rdf:type resource="#Person"/> <Publication resource=$S:documentD/> $E:P_properties </rdf:Description>. <rdf:Description about="http://xdd.org"> <rdf:type resource="#E-Document"/> <Title>XDD Language</Title> <Creator resource="http://smith.com/john"/> </rdf:Description> <rdf:Description about="http://xdd.org"> <rdf:Description about="http://smith.com/john"> <rdf:type resource="#E-Document"/> <rdf:type resource="#Person"/> <Title>XDD Language</Title> <Publication resource="http://xdd.org"/> <Creator resource="http://smith.com/john"/> </rdf:Description> </rdf:Description> % If a creator of an e-document D is % a resource P, it is known that such % a resource P must be an instance % of a class Person and one of P 's % publications is that e-document D. % If a publication of a person P is a % resource D, then we can infer % that D is an e-document, the % creator of which is the person P. % An RDF statement describing a % resource http://xdd.org. their respective XML applications in the data object layer. These objects can be explicitly described by the document or derived from the relationships, rules, or axioms in the document. In the application layer, such objects are surrogates of real-world objects in a particular application domain. Variable instantiation is defined by basic specializations, each of which has the form (v, w) where v specifies the name of the variable to be specialized and w the specializing value. For example, ($N:name1, $N:name2), ($S:url, "http://smith.com") and ($E:properties, ($E:p1, $E:p2)) are basic specializations that rename the N-variable $N:name1 as $N:name2, instantiate the S-variable $S:url into the string "http://smith.com/", and expand the E-variable $E:properties into the sequence of the E-variables $E:p1 and $E:p2. Basic specializations come in four types: • rename variables, • expand a P-or an E-variable into a sequence of variables of their respective types, computer.org/intelligent T h e S e m a n t i c W e b Let A, G, and S be sets of objects, ground objects, and specializations, respectively, and µ be a mapping from S to partial_map(A) (the set of all partial mappings on A). The quadruple 〈A, G, S, µ〉 is a specialization system under the conditions 1. ∀s 1 , s 2 ∈S, ∃s ∈S : µ(s) = µ(s 1 ) °µ(s 2 ); 2. ∃s ∈S, ∀a ∈A : µ(s)(a) = a; and 3. G ⊂ A, where µ(s 1 ) °µ(s 2 ) is the composite mapping of the partial mappings µ(s 1 ) and µ(s 2 ). Intuitively, Conditions 1 to 3 mean 1. For all specializations s 1 and s 2 , there exists a specialization s such that the corresponding partial mapping of s is the composition of the two mappings corresponding to s 1 and s 2 , 2. There exists a specialization that does not change any objects (identity specialization), and 3. Ground objects are objects. When µ is clear from the context, for θ ∈S, we write µ(θ)(a) simply as aθ. If b exists such that aθ = b, θ is said to be applicable to a, and a is specialized to b by θ.  • remove P-, E-, or I-variables, or • instantiate variables to XML expressions or components of XML expressions that correspond to the variables' types. A sequence of basic specializations is a specialization. The data structure of XML expressions is characterized by a mathematical abstraction Γ X = 〈A X , G X , S X , µ X 〉, called the XML Specialization System (see the related sidebar), where • A X is the set of all XML expressions, • G X is the subset of A X that comprises all ground XML expressions in A X , • S X is the set of all specializations that reflect the data structure of the XML expressions in A X , and • µ X is the specialization operator, which determines for each specialization s in S X the change of each XML expression in A X caused by s. Figure 3a illustrates an example of a nonground XML expression a in A X . Figure 3b illustrates a specialization θ in S X , and the application of θ to a by the operator µ X to obtain a ground XML expression g in G X (Figure 3c ). That is g = µ X (θ)(a) or, by postfix notation, g = aθ. Specialization θ changes the nonground expression a to the ground expression g by
Databases of RDF and DAML data as well as their queries can then be precisely formulated and manipulated REF .
XML Declarative Description: A Language for the Semantic Web
IEEE Intell. Syst.
IEEE Intell. Syst.
Computer Science