In this work we address the problem of using any third-party custom sparql function by only knowing its URI, allowing the computa- tion to be executed on the remote endpoint that defines and implements such function. We present a standard-compliant solution that does not require changes to the current syntax or semantics of the language, based on the use of a call function. In contrast to the plain \Extensible Value Testing" described in the W3C Recommendations for the sparql Query Language, our approach is interoperable, that is, not dependent on the specific implementation of the endpoint being used for the query, relying instead on the implementation of the endpoint that declares and makes the function available, therefore reducing interoperability issues to one single case for which we provide an open source implementation. Further, the proposed solution for using custom functions within sparql queries is quite expressive, allowing for true higher-order functions, where func- tions can be assigned to variables and used as both inputs and outputs, enabling a generation of Web APIs for sparql that we call Web of Func- tions. The paper also shows different approaches on how our proposal can be applied to existing endpoints, including a SPARQL-to-SPARQL compiler that makes the use of call unnecessary, by exploiting non- normative sections in the Federated Query W3C Recommendations that are currently implemented on some popular sparql engines. We finally evaluate the effectiveness of our proposal reporting our experiments on two popular engines.

Introducing the web of functions: Interoperable higher-order functions in pure SPARQL

ATZORI, MAURIZIO
2015-01-01

Abstract

In this work we address the problem of using any third-party custom sparql function by only knowing its URI, allowing the computa- tion to be executed on the remote endpoint that defines and implements such function. We present a standard-compliant solution that does not require changes to the current syntax or semantics of the language, based on the use of a call function. In contrast to the plain \Extensible Value Testing" described in the W3C Recommendations for the sparql Query Language, our approach is interoperable, that is, not dependent on the specific implementation of the endpoint being used for the query, relying instead on the implementation of the endpoint that declares and makes the function available, therefore reducing interoperability issues to one single case for which we provide an open source implementation. Further, the proposed solution for using custom functions within sparql queries is quite expressive, allowing for true higher-order functions, where func- tions can be assigned to variables and used as both inputs and outputs, enabling a generation of Web APIs for sparql that we call Web of Func- tions. The paper also shows different approaches on how our proposal can be applied to existing endpoints, including a SPARQL-to-SPARQL compiler that makes the use of call unnecessary, by exploiting non- normative sections in the Federated Query W3C Recommendations that are currently implemented on some popular sparql engines. We finally evaluate the effectiveness of our proposal reporting our experiments on two popular engines.
2015
978-151081087-7
Software
File in questo prodotto:
File Dimensione Formato  
sebd15 - Web_of_Functions___Interoperable_Higher_order_functions.pdf

Solo gestori archivio

Tipologia: versione post-print
Dimensione 194.31 kB
Formato Adobe PDF
194.31 kB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11584/187346
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact