Programming Semantic Web applications : a synthesis of knowledge representation and semi-structured data
Ora Lassila · Aaltodoc (Aalto University) · 2007
Software application development is largely centered around various representations of data and representations of the world in which the software operates. Often, while a software system itself is specified in terms of procedures and procedural semantics, the data the system uses and manipulates has declarative semantics; connecting the two is often an ad hoc endeavor. The issues of complex data representations are amplified within artificial intelligence applications that employ sophisticated knowledge representation. More recently, applications involving Semantic Web technologies are faced with the same situation. The Semantic Web is an attempt to enable sophisticated data representation for and within the context of World Wide Web content, aiming to enable more automated and autonomous applications to be built that take advantage of data on the Web. As such, the Semantic Web represents a vision for the next generation of Web applications and Web usage. This dissertation focuses on the representation of (Semantic Web) data as directed, labeled graphs. A method is introduced for querying these representations by expressing path patterns, enabling software programs to be "glued" to complex representations. The query mechanism is then extended to implement reasoning (i.e., logical inference) for this data, and to hide the reasoning process from application programs. A reasoner is presented for data based on an extended version of the RDF(S) data model. The outcome is a synthesis of two views of (Semantic Web) data, namely the view of the data as a logic formalism, and a view of the data as semi-structured graphs. An evaluation of the query mechanism is presented, contrasted against other approaches to querying RDF(S) data. Examples of various software applications making use of the Semantic Web, the path query mechanism, and the reasoner are also presented.