2 research outputs found

    Querying graph databases using a functional language extended with second order facilities

    No full text
    This paper presents the functional database language Hydra which extends previous such languages with associational facilities enabling a user to pose queries about the ways in which values and entities in the database are related to each other. These associational facilities work by treating the database as a graph and following all the arcs from a node or finding paths between nodes. The nodes of the database graph correspond to entities or values in the application domain and the arcs to associations between those entities and values. From the perspective of Hydra this database graph is viewed in terms of functions between sets of entities and values. Associational facilities are provided by built-in second-order primitives which use schema-level information to determine what arcs may be associated with a node or as the basis for searching for an instance-level path. Results from associational primitives are returned in the form of lists of functions which may be displayed to the user or directly applied to other parameters. The associational facilities provided are fully integrated into a computationally complete language in the style of Miranda. This integration allows complex queries to be answered, which are beyond the power of conventional database query languages

    Extending functional databases for use in text-intensive applications

    Get PDF
    This thesis continues research exploring the benefits of using functional databases based around the functional data model for advanced database applications-particularly those supporting investigative systems. This is a growing generic application domain covering areas such as criminal and military intelligence, which are characterised by significant data complexity, large data sets and the need for high performance, interactive use. An experimental functional database language was developed to provide the requisite semantic richness. However, heavy use in a practical context has shown that language extensions and implementation improvements are required-especially in the crucial areas of string matching and graph traversal. In addition, an implementation on multiprocessor, parallel architectures is essential to meet the performance needs arising from existing and projected database sizes in the chosen application area. [Continues.
    corecore