Abstract

Graph-based data models allow for flexible data representation. In particular, semantic data based on RDF and OWL fuels use cases ranging from general knowledge graphs to domain specific knowledge in various technological or scientific domains. The flexibility of such approaches, however, makes programming with semantic data tedious and error-prone. In particular the logics-based data descriptions employed by OWL are problematic for existing error-detecting techniques, such as type systems. In this paper, we present DOTSpa, an advanced integration of semantic data into programming. We embed description logics, the logical foundations of OWL, into the type checking process of a statically typed programming language and provide typed data access through an embedding of the query language SPARQL. In addition, we demonstrate a concrete implementation of the approach, by extending the Scala programming language. We qualitatively compare programs using our approach to equivalent programs using a state-of-the-art library, in terms of how both frameworks aid users in the handling of typical failure scenarios.

Highlights

  • Graph-based data models allow for flexible data representation

  • We describe a general approach for a deep integration of OWL and a subset of SPARQL into a typed programming language as well as a concrete implementation, ScaSpa, as an extension of Scala

  • This includes on-demand type integration based on the theoretical foundations provided by λDL, as well as a deep integration of concept expressions and SPARQL queries

Read more

Summary

Introduction

Graph-based data models allow for flexible data representation. In particular, semantic data models like RDF [55] may contain schematic information as part of the data or in separate files. Of special interest is the W3C standard OWL [25], which allows for using highly expressive logic-based data descriptions This flexibility and expressive power of RDF and OWL fuels many applications, ranging from general knowledge graphs such as Wikidata [54] to complex domain specific ontologies, e.g., the SNOMED CT [8] medical vocabulary. A major reason is the lack of typed integration in programming languages, leaving the burden of correct typing on the programmer This lack of integration is comparable to data access and integration of other data models, such as access to and types for relational [6] or object oriented databases [37, 56], XML [4, 26], as well as general data access approaches such as LINQ [5, 34]; each data model comes with its specific challenges. 1 // Schematic information 2 Person Organization ⊥ 3 Employee 4 Person ∃worksFor.Organization 5 Professor Employee 6 Chair Professor 7 ∃headOf.Department Person ≡ Chair 8 ResearchAssistant 9 Person ∃worksFor.ResearchGroup

11 ResearchGroup Organization
Background
Syntax and Semantics of DOTSpa
Instantiating the DOTSpa Framework
Architecture and Implementation of ScaSpa
Limitations
Comparison with a State-of-the-Art Framework
Conclusion
Related Work
Summary and Future Work
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call