ost web applications are based on HTML documents. The semantic web is based on RDF, the RDF Schema language (RDFS), and the Web Ontology Language (OWL). Additionally, the SPARQL Query Language for RDF is also a part of the semantic web and allows you to query across the semantic web of data.
The CDMS application supports quality assurance and compliance checking in the building and construction industries of Australia and New Zealand. It deals with real-world objects—things such as buildings, roads, and infrastructure—as well as the people and organizations involved in building them. Additionally, it needs to incorporate more abstract concepts such as the standards, regulations, and legislation that define the criteria used for compliance checking.
Building projects defined in CDMS annotate real world objects with information. RDF is more flexible at annotating objects than a relational database.
Some of these annotations include:
- References to the criteria (e.g., legislation, standards) that form the basis for compliance checking
- Linking project participants who may be of the same or different organizations
- Location based information
A good way to understand RDF files and how they link together is to use an RDF browser such as one of the following:
A good preference is the Tabulator Firefox Extension that allows Firefox to navigate RDF in a way similar to browsing HTML. The examples below show RDF as Firefox displays it using the Tabulator Extension.
Benefits of the Semantic Web
|Figure 1. Social Networks: Semantic web technologies help integrate social networks.|
- Social networking
- Domain modeling
- Clarifying concepts
- Augmenting location data
- Project collaboration
- Inferences and reasoning
Social networking is supported via the FOAF (Friend of a Friend) Vocabulary. Building projects are about people knowing people and collaboration between different groups and organizations. In Figure 1 the building owner knows the architect who recommends the builder. FOAF is currently exported by a number of popular social network sites, so supporting it means that users do not have to recreate all their contacts again when working with CDMS.
Semantic web domain modeling lets you reuse globally accepted domain models such as FOAF and extend them with application-specific modeling. In Figure 2 a new class—BuildingProject—is created by subclassing foaf:Project and three new properties added.
Concepts defined in Linked Data datasets such as Dbpedia can be linked to concepts used in CDMS (using constructs such as
Locations, landmarks, and other well-known buildings already described in Linked Data datasets can also be used to augment location information about a building project. In Figure 4 the foaf:based_near property is used to indicate that Breaker Bay is near Wellington. Dereferencing the Wellington link provides information about Wellington along with links to additional information from the Dbpedia dataset.
|Figure 4. Locations Based Services: Linked data is good for location based services.|
The publication of project information (in particular project status information) as Linked Data makes it available to a number of different parties to include in their own systems.
Inferences and Reasoning
The inference capabilities of OWL may assist with handling the layers of government standards, laws, regulations plus industry and manufacturer standards. This integrates with location based services. Initial steps in this direction are proposed in this blog entry.
The example RDF model was created using TopBraid Composer, a commercial ontology editor. This RDF model can be used to generate the beginnings of a semantic web application, in this case using Jena.
Jena already contains the static constants for FOAF. The schemagen tool was used to generate the Building.java class, which contains static constants for the new “Building Project” terms defined in http://3kbo.com/examples/building.rdf.
The downloadable maven pom.xml file contains the repository and dependencies needed to build a Jena based Java application.
With the basic domain model defined, you can create a simple application App.java with a helper class Architects to illustrate creating a new building project.
In the main method from App.java you nominate the architect and builder and create a new property to link to the legislation the approved building complies with (see Listing 1).
The Architects helper method Architects.findArchitect uses a SPARQL query to find by name an architect in the Architects group.
The method Architects.getRecommendedBuilder also uses a SPARQL query to navigate through the list of builders the nominated architect knows. (In this simple example, use the last builder in the list).
This article describes only a few of the benefits and features associated with using semantic web technologies over HTML applications. The next article in this series will delve into the requirements—and how to select—a semantic web framework.