Using Prolog to Provide Access to Metadata in an Object-Oriented Database (original) (raw)
Related papers
Prolog-based Infrastructure for RDF: Scalability and Performance
International Semantic Web Conference, 2003
The semantic web is a promising application-area for the Prolog program- ming language for its non-determinism and pattern-matching. In this paper we outline an infrastructure for loading and saving RDF/XML, storing triples, elementary reason- ing with triples and visualization. A predecessor of the infrastructure described here has been used in various applications for ontology-based annotation of multimedia ob- jects using
The Design and Implementation of an Object-Oriented Prolog Engine
The implementation of Prolog systems has a long history, starting from the first interpreter written in 1972, to the first Prolog compiler simplifying basic operations like unification and backtracking with the aim of optimizing performances, and to the Warren Abstract Machine, later becoming a de facto standard model. The tuProlog engine differs from those systems in that maximum efficiency is not amongst its primary concerns. Instead, it aims at becoming the enabling technology for building complex systems like dynamic Internet infrastructures based on intelligent components, a domain where logic languages could effectively face, in principle, the key issues of intelligence and interaction. To accomplish this task, a logic engine must meet engineering properties such as deployability, configurability and scalability; to be usable as a development tool, it also must sustain a certain degree of traceability, by allowing the inspection of its internal processes at runtime, thus easying the typical pain of debugging activities. The design and implementation of such a system must follow sound principles: object-oriented code structuring, reuse of established community knowledge under the form of patterns, loose coupling of composing elements, modularity and a clear and clean separation of concerns. In this paper, we present the architecture of tuProlog, based upon a set of managers handling control of sensible parts of the system and operating around a minimal core shaped as a Finite State Machine; then, the representation of Prolog data and the unification algorithm's implementation are discussed; finally, the resolution part of the engine is illustrated.