View Proposal


Proposer
Rob Stewart
Title
Semantic Web type providers in F#
Goal
Description
Type providers is an idea in programming languages research, whereby an external data source such as a CSV file is used to generating programming constructs. Typically these components are types (i.e. Java classes, or types in functional languages), but can also be properties or even functions or methods. In the semantic web world, the goal is to provide as much meaning to data as possible. In other words, what is the semantic meaning of an entity from a particular domain, and what is relationship between entities in that domain. This project will investigate whether there is a deep connection between how domains are captured using ontologies from the semantic web, and type systems for functional languages. The student on this project may wish to explore building type providers in their favourite functional language. As a starting point, with support for RDF data to convert ontology schema into types of that programming language. For a richer investigation, the project will explore how ontological rules can be mapped to types and constraints in the target programming language. This project may raise some interesting questions: if type constraints derived from ontology rules are sufficiently strong, can we perform ontology reasoning to check RDF semantic web data is sound and consistent? Can we do this at compile time type provider OWL/schema data sources and RDF data sources? On the practical side of this work, take a look at RDF type providers for the F# language available in the Iride library: https://github.com/giacomociti/iride That may be a starting point for any implementation work.
Resources
Background
Url
Difficulty Level
High
Ethical Approval
None
Number Of Students
1
Supervisor
Rob Stewart
Keywords
Degrees