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.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
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)