Semantic Web Architectures

The Semantic Web architecture that was proposed back in 2000 is different from the one that is currently being based on in the development of Semantic Website. As technology improved, the creators of this web also discovered new improvements to be integrated. This chapter takes you through Semantic Web architectures, specifically tackling Protocols and Languages, Software Components, and System Architecture Styles.

Protocols and Languages

As the Semantic Web adopts a dynamic architecture, Resource Description Framework (RDF) presents itself as the most adaptable language for information representation. It has a basic model which makes it a viable choice for any kind of deployment while maintaining it’s the possibilty to expand for sophisticated uses. Similarly, XML could be seen as an appropriate choice for the Semantic Web, but as argued out in this section, RDF could be rightly preferred over the former(Wikipedia, n.d.).

RDF is the standard language for data inter-change, which has been developed and fully supported by W3C. Despite the existence of a wide range of tools for tackling data on the Semantic Web, RDF remains the easiest and most powerful standard. It has undergone numerous tests, becoming a proven technology for modeling data; both publishing and linking of the data. Its initial development stages involved being dedicated as part of the Semantic Web mass, but has since grown to be used as a stand-alone representation of high-quality connected data.

The RDF data model takes the same approaches as classical conceptual modeling, featuring class diagrams or entity-relationships. It operates on the basis that statements can be made about resources in such a way that subject–predicate–object expressions are formed. These are referred to as triples, in which the subject is a representation of the resource, the predicate indicates traits and describes some kind of relationship between the subject and object (Damian, et al., 2009). For instance, in RDF, the notion “The laptop has the color green” could be represented in the triples whereby a subject denotes “The laptop”, a predicate which indicates “The color” and an object indicating “green”.

The existence of RDF is so that we have a standardized mechanism through which we can formally inter-link and access data, facts, information, or record, in a language that is machine-readable. It is a kind of uniform structure via which simple statements are used to express any kind of information. One thing worth noting is that we are able to convert data of any format to RDF data. Various tools have been developed for this purpose. According to data revolutionist (Kitchin, 2014), RDF is simply a common framework through which data harvesting happens.

But even as RDF makes this kind of progress, there is also XML whose development has attracted quite a good number of researchers. As a hypertext markup language, XML adds tags for describing data. These tags cannot be seen by the people reading a document on the Semantic Web, but are visible to computers. RDF and XML work in a complementary manner but the former takes an upper hand when its comes to effectiveness. To express information as a graph, RDF utilizes triples which have been written as XML tags. Despite working together, it must be understood that an XML model is not similar to an RDF model(Damian, et al., 2009).

Software Components

The usage of Semantic Web technology extends beyond the confines of the academia world, reaching all kinds of users, both companies and individuals, for a wide range of reasons. Having realized how beneficial the Semantic Web technology can be, more software components with the sole idea of giving users more ways for leveraging the technology have been developed (Kaur & Mishra, 2017).

Software is the set of instructions within the computer’s memory, digitally directing the computer what to do(Webopedia, n.d.). Software components do not have any physical presence, occupying only digital space in the memory. Software could be split into various categories, including applications software, utilities, and system software. Applications software are the platform through which the system’s user is able to accomplish a set of tasks. They consist of games, office software, web browsers, among others. These power the Semantic Web and without which it would be quite difficult to make use of this platform in the first place (Webopedia, n.d.).

Software components provide a means through which the complexity of the software can be broken down into manageable parts. Each component has some level of complexities and hides these behind an interface. Just like inter-changeable sections of a machine, it is possible to swap components in and out. This makes sure that software development and maintenance is minimized, while the same code can be used several times in different parts.

There are different models of Semantic Web application components. For a Semantic Web application to be stable and be free from potential failures it is vital that components of the Web app be leveraged and a model that best satisfies business needs be chosen.

The simplest model is the one in which there is a single Web server with a database. It is also the most risky, considering that a failure of the server implies that the Semantic Web app will also be unavailable. Such a raw model is only good for private practices or test projects.

There may also be a model where you have two Web servers and a single database. In this case, the database is situated on a different machine as the webserver, making it a scalable model. The idea is that the Web-server does not do any data storage. All it does is processing of the data and writing it to the database.

The third model is one in which there are two or more Web-server and two or more databases. This model presents you with a number of options. You could decide to have the data bases storing identical data or evenly distributing it out among the data bases. Even if one data base fails, the other one could replace it, ensuring zero-losses.

Ontologies are central to software development. These are frameworks through which properties and concepts of a given domain can be defined, and they have the needed vocabularies(Paquette & Masmoudi, 2012). Two ontologies are essential within the context of a Web component. First is the application domain ontologies which provide a description of the domain in which the software application being developed falls. The other one is software development ontologies that have a description for software development processes and entities. Core ontology of software provides the crucial concepts that are needed for modeling Web services and software components. This includes data, software, access rights, users, and interfaces(Paquette & Masmoudi, 2012).

System Architecture Styles

Versions of Semantic Web System Architecture
Versions of Semantic Web System Architecture

Development of the Semantic Web saw the introduction of four different system architecture styles (depicted in the figure above as Version V1, Version V2, Version V3, and Version V4). Berners-Lee, who was part of efforts to create a Semantic Web, came up with a proposal for Version V2, after which he also proposed Version V3, before introducing the latest Version V4 (Gerber & Barnard, 2014). Different researchers came up with publications arguing that it was impossible to describe the Semantic Web architectures as ‘architecture’ due to the fact that they depicted Semantic Web languages. In response to this argument, an extensive literature was written to define the term system architecture. Literature generally agrees that an architecture is a depiction of a system’s structure in a given context. Thus, it is safe to conclude that indeed the proposed structures are architecture, or a system architecture for that matter (Gerber & Barnard, 2014).

As it can be seen from the above diagram, Semantic Web takes different system architecture styles(Wikipedia, n.d.).

  • Vertical layers

The architectures in the figure above have vertical layers. For instance, V1 has Digital Signatures while V4 has Crypto. The speculation that these layers are a part of all other layers, or that these layers reside alongside the other layers is valid. Furthermore, it would be possible to get rid of security-related vertical layers and still have the integrity of system intact (Wikipedia, n.d.).

  • Side-by-side layers

All the four versions of the Semantic Web architecture have Unicode and URI at the bottom of the architecture, as two individual blocks. This is a side-by-side system architecture style. One gets the impression that these two layers are meant to be at the bottom. But there is an issue with that kind of assumption due to the inconsistencies spotted especially in other layers that have more than one layer like in Version V1 in which case RDF and RDF Schema are in the same layer (Facca & Fensel, 2010).

For applications that make use of Semantic Web data, two different architectural styles can be adopted. The first one is to have data integrated on demand at query time, just the same way as database approaches do. Alternatively, you could gather and pre-process data in a similar fashion to data warehouses or search engines. The user’s requirements go a long way in determining what architectural style would be adopted. Whereas the search engines model appears to offer faster querying, it has the challenge of presenting data that is not current owing to the complexities involved in collecting and indexing vast datasets. On-demand query on the other hand may be able to offer up-to-date data but is limited by slow performance (Zugic, 2010).

Leave a Reply

Your email address will not be published. Required fields are marked *