The Web has grown from a tool for scientific communication into an indispensable form of communication. Although originally developed to facilitate knowledge management, the reuse of information on the Web is limited. The lack of reuse is the result of data hidden inside relational databases: closed systems with a rigid schema structure, a lack of universal, reusable, identifiers, and a lack of expressive and extensible schemas. The Semantic Web improves the Web infrastructure with formal semantics and interlinked data, enabling flexible, reusable, and open knowledge management systems.
The move towards open and interlinked data on the Web and the Semantic Web results in more open systems. In contrast to traditional database-driven applications, open systems liberate the data that they operate on: sources are decentralised, data can be semi-structured with arbitrary vocabulary and contributions can be published anywhere. Opening up existing applications and their data would improve knowledge management but raises challenges: how to programmatically access and manipulate the web of linked data, how to visualise and navigate the information graph, how to guide user-provided content, and how to find relevant data in distributed sources.
This thesis offers algorithms and components that simplify and support knowledge management based on Semantic Web technology. We address four areas of Semantic Web application development: programmatic access: how to program against the flexible graph-based model; data navigation: how to navigate arbitrary information spaces; data entry: how to guide users through collaborative recommendation; and data discovery: how to locate relevant data sources.
Our hypothesis is that the issues of programmatic access, data navigation, data entry, and data discovery can be addressed, with acceptable results, through the sole introspection of instance data at runtime, without relying on fixed schema structures at design time. In all four areas we devise solutions (an object-oriented data mapping, a generic navigation interface, a collaborative recommendation algorithm and a scalable lookup service) that are domain-independent, rely only on instance data and dynamically adjust to the available data.