Patterns for Interfacing between Logic Programs and Multiple Ontologies

Luis Cruz-Filipe, Isabel Nunes, Graça Gaspar


Originally proposed in the mid-90s, design patterns for software development played a key role in object-oriented programming not only in increasing software quality, but also by giving a better understanding of the power and limitations of this paradigm. Since then, several authors have endorsed a similar task for other programming paradigms, in the hope of achieving similar benefits. In this paper we discuss design patterns for hybrid semantic web systems combining several description logic knowledge bases via a logic program. We introduce eight design patterns, grouped in three categories: three elementary patterns, which are the basic building blocks; four derived patterns, built from these; and a more complex pattern, the study of which can shed some insight in future syntactic developments of the underlying framework. These patterns are extensively applied in a natural way in a large-scale example that illustrates how their usage greatly simplifies some programming tasks, at the level of both development and extension. We work in a generalization of dl-programs that supports several (possibly different) description logics, but the results presented are easily adaptable to other existing frameworks such as multi-context systems.


  1. Adams, M., Coplien, J., Gamoke, R., Hanmer, R., Keeve, F., and Nicodemus, K. (1996). Fault-tolerant telecommunication system patterns. In Pattern Languages of Program Design 2, pages 549-562. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA.
  2. Antoy, S. and Hanus, M. (2002). Functional logic design patterns. In Hu, Z. and Rodríguez-Artalejo, M., editors, Proceedings of FLOPS 2002, volume 2441 of LNCS, pages 67-87. Springer.
  3. Brewka, G. and Eiter, T. (2007). Equilibria in heterogeneous nonmonotonic multi-context systems. In Proceedings of AAAI-07, pages 385-390. AAAI Press.
  4. Bruijn, J. d., Ehrig, M., Feier, C., Martíns-Recuerda, F., Scharffe, F., and Weiten, M. (2006). Ontology mediation, merging, and aligning. In Davies, J., Studer, R., and Warren, P., editors, Semantic Web Technologies: Trends and Research in Ontology-based Systems. John Wiley & Sons, Ltd, Chichester, UK.
  5. Cruz-Filipe, L., Henriques, R., and Nunes, I. (2013). Viewing dl-programs as multi-context systems. Technical Report 2013;05, Faculty of Sciences, University of Lisbon.
  6. Eiter, T., Ianni, G., Lukasiewicz, T., and Schindlauer, R. (2011). Well-founded semantics for description logic programs in the semantic Web. ACM Transactions on Computational Logic, 12(2). Article 11.
  7. Eiter, T., Ianni, G., Lukasiewicz, T., Schindlauer, R., and Tompits, H. (2008). Combining answer set programming with description logics for the semantic web. Artificial Intelligence, 172(12-13):1495-1539.
  8. Eiter, T., Ianni, G., Schindlauer, R., and Tompits, H. (2006a). Effective integration of declarative rules with external evaluations for semantic-web reasoning. In Sure, Y. and Domingue, J., editors, Proceedings of ESWC 2006, volume 4011 of LNCS, pages 273-287. Springer.
  9. Eiter, T., Ianni, G., Schindlauer, R., and Tompits, H. (2006b). Towards efficient evaluation of HEX programs. In Dix, J. and Hunter, A., editors, Proceedings of NMR-2006, Answer Set Programming Track, pages 40-46. Institut für Informatik, TU Clausthal, Germany.
  10. Erl, T. (2009). SOA Design Patterns. Prentice Hall, New York.
  11. Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley.
  12. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
  13. Gangemi, A. and Presutti, V. (2009). Ontology design patterns. In Staab, S. and Studer, R., editors, Handbook on Ontologies, International Handbooks on Information Systems, pages 221-243. Springer. 2nd edition.
  14. Gibbons, J. (2006). Design patterns as higher-order datatype-generic programs. In Hinze, R., editor, Proceedings of WGP 2006, pages 1-12. ACM.
  15. Grau, B., Parsia, B., and Sirin, E. (2005). Combining OWL ontologies using e-connections. Journal of Web Semantics, 4(1):40-59.
  16. Kifer, M. and Boley (eds.), H. (2010). RIF overview. W3C Working Group Note, NOTE-rif-overview-20100622/.
  17. Larman, C. (2004). Applying UML and Patterns. PrenticeHall. 3rd Edition.
  18. Mattson, T., Sanders, B., and Massingill, B. (2005). Patterns for Parallel Programming. Addison-Wesley.
  19. Meyer, B. (1997). Object-Oriented Software Construction. Prentice-Hall. 2nd Edition.
  20. Norvig, P. (1996). Design patterns in dynamic programming. Tutorial slides presented at Object World, Boston, MA, May 1996, available at http://
  21. Oliveira, B. and Gibbons, J. (2005). TypeCase: a design pattern for type-indexed functions. In Leijen, D., editor, Proceedings of Haskell 2005, pages 98-109. ACM.
  22. Schmidt, D., Stal, M., Rohnert, H., and Buschmann, F. (2000). Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons.
  23. Sterling, L. (2002). Patterns for Prolog programming. In Kakas, A. and Sadri, F., editors, Computational Logic: Logic Programming and Beyond, Essays in Honour of Robert A. Kowalski, Part I, volume 2407 of LNCS, pages 374-401. Springer.
  24. Wang, K., Antoniou, G., Topor, R., and Sattar, A. (2005). Merging and aligning ontologies in dl-programs. In Adi, A., Stoutenburg, S., and Tabet, S., editors, Proceedings of RuleML 2005, volume 3791 of LNCS, pages 160-171. Springer.

Paper Citation

in Harvard Style

Cruz-Filipe L., Nunes I. and Gaspar G. (2013). Patterns for Interfacing between Logic Programs and Multiple Ontologies . In Proceedings of the International Conference on Knowledge Engineering and Ontology Development - Volume 1: KEOD, (IC3K 2013) ISBN 978-989-8565-81-5, pages 58-69. DOI: 10.5220/0004544100580069

in Bibtex Style

author={Luis Cruz-Filipe and Isabel Nunes and Graça Gaspar},
title={Patterns for Interfacing between Logic Programs and Multiple Ontologies},
booktitle={Proceedings of the International Conference on Knowledge Engineering and Ontology Development - Volume 1: KEOD, (IC3K 2013)},

in EndNote Style

JO - Proceedings of the International Conference on Knowledge Engineering and Ontology Development - Volume 1: KEOD, (IC3K 2013)
TI - Patterns for Interfacing between Logic Programs and Multiple Ontologies
SN - 978-989-8565-81-5
AU - Cruz-Filipe L.
AU - Nunes I.
AU - Gaspar G.
PY - 2013
SP - 58
EP - 69
DO - 10.5220/0004544100580069