• Aucun résultat trouvé

The Essence of Functional Programming on Semantic Data

N/A
N/A
Protected

Academic year: 2022

Partager "The Essence of Functional Programming on Semantic Data"

Copied!
1
0
0

Texte intégral

(1)

The essence of functional programming on semantic data

Martin Leinberger1, Ralf Lämmel2, Steffen Staab1,3

1Institute for Web Science and Technologies, University of Koblenz-Landau, Germany

2 The Software Languages Team, University of Koblenz-Landau, Germany

3Web and Internet Science Research Group, University of Southampton, England

Programming with knowledge represented in description logics (DL) is error- prone. Untyped access, e.g., provided by the OWL API [1], does not leverage static typing which allows for proving the absence of runtime-errors. Mapping approaches, e.g., described by [2] cannot fully capture the conceptualization of semantic data. In [3], we present λDL, a typed λ-calculus with constructs for operating on semantic data. This is achieved by the integration of description logics into theλ-calculus for both typing and data access.

We rely on ALCOI as a basic description logic. We assume the possibility of checking whether axioms follow logically from a knowledge base as well as class expression queries. Furthermore, we only allow named individuals as query results to avoid infinitely large result sets.

Key design principles ofλDL are to treat (1)concept expressions as typesin the programming language (2)subtype inferenceby forwarding typing judgments to the knowledge system as axioms during type checking, (3) typing of queries to ensure satisfiability and proper result processing, (4)class expression queries as well as (5)open-world querying in which we treat axioms only as true if they are true in all models of the knowledge system.

Runtime semantics are modeled as a small-step operational semantics. As usual, runtime errors are modeled through stuck states during evaluation. Using the key design principles, we show that a straightforward extension of a basic λ-calculus, is sufficient to achieve a type-safe integration. The only exception comprises of accessing empty query results.

While the presented approach shows how a basic integration supporting sub- typing and queries can be achieved, future work focuses on an extended query language, in particular, a subset of SPARQL, as well as type inference for all types ofλDL and polymorphism.

References

1. M. Horridge and S. Bechhofer. The OWL API: A Java API for OWL ontologies.

Semantic Web, 2(1):11–21, 2011.

2. A. Kalyanpur, D. J. Pastor, S. Battle, and J. A. Padget. Automatic Mapping of OWL Ontologies into Java. InProc. SEKE 2004, pages 98–103, 2004.

3. M. Leinberger, R. Lämmel, and S. Staab. The essence of functional programming on semantic data. InProc. ESOP 2017, LNCS. Springer.

Références

Documents relatifs

In sum, whereas the "debug- ging" of natural language discourse is socially accomplished, and often inexplicit, the novice programmer must go it alone in

Lists can be infinite as well as finite. In this chapter we shall describe some basic operations on infinite lists, show how they can be characterised as the limit

Lines 03-05 are Subtract (S) operations which reset the three accumulators by subtracting each from itself. In a subtract operation, the data addressed by the A

The subsumption rule U NADOPTED A DOPTABLE states that, when one holds the affine permission v @ unadopted, one can obtain, in addition, the duplicable permission v @ adoptable.. is

In particular using only équations as axioms it is impossible to specify sufficiently complete abstract types including models containing partial recursive functions with

There are the following main features of the proposed Hybrid Knowledge En- gineering approach regarding SE: consistency : the Semantic Gap in the design process is decreased or

● there are lots of libraries of reusable code, but these aren't really components.. ● a component follows a

For example, because the lazy parameter of the following function is used three times in the function, the expression that provides its value is evaluated three times:.