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.
翻译:以图表为基础的数据模型允许灵活的数据代表。 特别是,基于RDF和OWL燃料的语义数据使用从一般知识图表到各种技术或科学领域的域内特定知识等各种案例。然而,这些方法的灵活性使得用语义数据编程变得乏味和容易出错。特别是,OWL使用的逻辑数据描述对现有的测错技术(如类型系统)有问题。在本文中,我们介绍了将语义数据高级整合到编程中的DOTSpa。我们将描述逻辑、OWL的逻辑基础纳入静态类型编程语言的类型检查过程,并通过嵌入查询语言SPARQL,提供打印数据访问。此外,我们通过扩展Scala编程语言,展示了该方法的具体执行情况。我们用一种最先进的图书馆将我们的方法与等同方案进行质量比较,说明两个框架如何帮助用户处理典型的故障情况。