Abstract
RDF is one of the cornerstones of the Semantic Web. It can be considered as a knowledge representation common language based on a graph model. In the functional programming community, inductive graphs have been proposed as a purely functional representation of graphs, which makes reasoning and concurrent programming simpler. In this paper, we propose a simplified representation of inductive graphs, called Inductive Triple Graphs, which can be used to represent RDF in a purely functional way. We show how to encode blank nodes using existential variables, and we describe two implementations of our approach in Haskell and Scala.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Carroll, J.J., Klyne, G.: Resource description framework (RDF): Concepts and abstract syntax. W3C recommendation, W3C (February 2004), http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/
Chlipala, A.J.: Parametric higher-order abstract syntax for mechanized semantics. In: Hook, J., Thiemann, P. (eds.) Proceeding of the 13th ACM SIGPLAN International Conference on Functional Programming, ICFP 2008, Victoria, BC, Canada, September 20-28, pp. 143–156. ACM (2008)
Claessen, K., Ljunglöf, P.: Typed logical variables in Haskell. In: Proceedings of Haskell Workshop, Montreal, Canada, University of Nottingham, Technical Report (2000)
Clark, K.L.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Databases, pp. 293–322. Plenum Press (1978)
Cyganiak, R., Wood, D.: Resource description framework (RDF): Concepts and abstract syntax. W3C working draft, W3C (January 2013), http://www.w3.org/TR/rdf11-concepts/
Becket, D., Prud’hommeaux, E., Berners-Lee, T., Carothers, G.: Turtle, terse RDF triple language. In: World Wide Web Consortium, Working Draft, WD-Turtle (July 2012)
Dürst, M., Suignard, M.: Internationalized resource identifiers. Technical Report 3987, IETF (2005)
Erwig, M.: Fully persistent graphs - which one to choose? In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol. 1467, pp. 123–140. Springer, Heidelberg (1998)
Erwig, M.: Functional programming with graphs. SIGPLAN Not. 32(8), 52–65 (1997)
Erwig, M.: Inductive graphs and functional graph algorithms. J. Funct. Program. 11(5), 467–492 (2001)
Fegaras, L., Sheard, T.: Revisiting catamorphisms over datatypes with embedded functions (or, programs from outer space). In: Proceedings of the 23rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1996, pp. 284–294. ACM, New York (1996)
Hayes, J., Gutierrez, C.: Bipartite graphs as intermediate model for RDF. In: McIlraith, S.A., Plexousakis, D., van Harmelen, F. (eds.) ISWC 2004. LNCS, vol. 3298, pp. 47–61. Springer, Heidelberg (2004)
Hughes, J.: Why Functional Programming Matters. Computer Journal 32(2), 98–107 (1989)
Jeffrey, A.S.A., Patel-Schneider, P.F.: Integrity constraints for linked data. In: Proc. Int. Workshop Description Logics (2011)
Jeffrey, A.S.A., Patel-Schneider, P.F.: As XDuce is to XML so ? is to RDF: Programming languages for the semantic web. In: Proc. Off the Beaten Track: Workshop on Underrepresented Problems for Programming Language Researchers (2012)
Mallea, A., Arenas, M., Hogan, A., Polleres, A.: On blank nodes. In: Aroyo, L., Welty, C., Alani, H., Taylor, J., Bernstein, A., Kagal, L., Noy, N., Blomqvist, E. (eds.) ISWC 2011, Part I. LNCS, vol. 7031, pp. 421–437. Springer, Heidelberg (2011)
Meijer, E., Fokkinga, M., Paterson, R., Hughes, J.: Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire. In: Hughes, J. (ed.) FPCA 1991. LNCS, vol. 523, pp. 124–144. Springer, Heidelberg (1991)
Oliveira, B.C., Cook, W.R.: Functional programming with structured graphs. SIGPLAN Not. 47(9), 77–88 (2012)
Seres, S., Spivey, J.M.: Embedding Prolog into Haskell. In: Proceedings of HASKELL 1999, Department of Computer Science, University of Utrecht (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Labra Gayo, J.E., Jeuring, J., Álvarez Rodríguez, J.M. (2014). Inductive Triple Graphs: A Purely Functional Approach to Represent RDF. In: Croitoru, M., Rudolph, S., Woltran, S., Gonzales, C. (eds) Graph Structures for Knowledge Representation and Reasoning. Lecture Notes in Computer Science(), vol 8323. Springer, Cham. https://doi.org/10.1007/978-3-319-04534-4_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-04534-4_7
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04533-7
Online ISBN: 978-3-319-04534-4
eBook Packages: Computer ScienceComputer Science (R0)