Skip to main content

Inductive Triple Graphs: A Purely Functional Approach to Represent RDF

  • Conference paper
  • 845 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 8323))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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/

  2. 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)

    Google Scholar 

  3. Claessen, K., Ljunglöf, P.: Typed logical variables in Haskell. In: Proceedings of Haskell Workshop, Montreal, Canada, University of Nottingham, Technical Report (2000)

    Google Scholar 

  4. Clark, K.L.: Negation as failure. In: Gallaire, H., Minker, J. (eds.) Logic and Databases, pp. 293–322. Plenum Press (1978)

    Google Scholar 

  5. 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/

  6. 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)

    Google Scholar 

  7. Dürst, M., Suignard, M.: Internationalized resource identifiers. Technical Report 3987, IETF (2005)

    Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. Erwig, M.: Functional programming with graphs. SIGPLAN Not. 32(8), 52–65 (1997)

    Article  Google Scholar 

  10. Erwig, M.: Inductive graphs and functional graph algorithms. J. Funct. Program. 11(5), 467–492 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Chapter  Google Scholar 

  13. Hughes, J.: Why Functional Programming Matters. Computer Journal 32(2), 98–107 (1989)

    Article  Google Scholar 

  14. Jeffrey, A.S.A., Patel-Schneider, P.F.: Integrity constraints for linked data. In: Proc. Int. Workshop Description Logics (2011)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Chapter  Google Scholar 

  17. 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)

    Chapter  Google Scholar 

  18. Oliveira, B.C., Cook, W.R.: Functional programming with structured graphs. SIGPLAN Not. 47(9), 77–88 (2012)

    Article  Google Scholar 

  19. Seres, S., Spivey, J.M.: Embedding Prolog into Haskell. In: Proceedings of HASKELL 1999, Department of Computer Science, University of Utrecht (1999)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics