Skip to main content

Design Patterns for Description-Logic Programs

  • Conference paper
  • First Online:
Knowledge Discovery, Knowledge Engineering and Knowledge Management (IC3K 2013)

Abstract

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 present a set of design patterns for Mdl-programs, a hybrid formalism combining several description logic knowledge bases via a logic program. 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 also discuss some limitations of this formalism, examining some usual patterns in other programming paradigms that have no parallel in Mdl-programs.

Work partially supported by Fundação para a Ciência e Tecnologia under contracts PEst-OE/MAT/UI0209/2011 and PEst-OE/EEI/UI0434/2011.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

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 EPUB and 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

Institutional subscriptions

Notes

  1. 1.

    The description logics underlying the \(\mathcal L_i\)s need not be the same.

  2. 2.

    The precise semantics can be found in [13]; the third operator in [14] is not included, as it can be defined in terms of \(\mathop {\cup \!\!\!^{{}_{\mathbf{-}}}\;}\), and this option simplifies the semantics [23].

References

  1. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)

    Google Scholar 

  2. Adams, M., Coplien, J., Gamoke, R., Hanmer, R., Keeve, F., Nicodemus, K.: Fault-tolerant telecommunication system patterns. In: Vlissides, J.M., Coplien, J.O., Kerth, K.L. (eds.) Pattern Languages of Program Design, vol. 2, pp. 549–562. Addison-Wesley Longman Publishing Co. Inc., Boston (1996)

    Google Scholar 

  3. Erl, T.: SOA Design Patterns. Prentice Hall, New York (2009)

    Google Scholar 

  4. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2002)

    Google Scholar 

  5. Larman, C.: Applying UML and Patterns, 3rd edn. Prentice-Hall, Upper Saddle River (2004)

    Google Scholar 

  6. Mattson, T., Sanders, B., Massingill, B.: Patterns for Parallel Programming. Addison-Wesley, Reading (2005)

    Google Scholar 

  7. Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice-Hall, Upper Saddle River (1997)

    MATH  Google Scholar 

  8. Schmidt, D., Stal, M., Rohnert, H., Buschmann, F.: Pattern-Oriented Software Architecture - Patterns for Concurrent and Networked Objects. Wiley, New York (2000)

    Google Scholar 

  9. Antoy, S., Hanus, M.: Functional logic design patterns. In: Hu, Z., Rodríguez-Artalejo, M. (eds.) FLOPS 2002. LNCS, vol. 2441, pp. 67–87. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Gibbons, J.: Design patterns as higher-order datatype-generic programs. In: Hinze, R. (ed.) Proceedings of WGP 2006, pp. 1–12. ACM (2006)

    Google Scholar 

  11. Norvig, P.: Design patterns in dynamic programming. Tutorial slides presented at Object World, Boston, MA, May 1996. http://norvig.com/design-patterns/

  12. Sterling, L.: Patterns for prolog programming. In: Kakas, A.C., Sadri, F. (eds.) Computational Logic: Logic Programming and Beyond. LNCS (LNAI), vol. 2407, pp. 374–401. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Cruz-Filipe, L., Henriques, R., Nunes, I.: Description logics, rules and multi-context systems. In: McMillan, K., Middeldorp, A., Voronkov, A. (eds.) LPAR-19 2013. LNCS, vol. 8312, pp. 243–257. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  14. Eiter, T., Ianni, G., Lukasiewicz, T., Schindlauer, R., Tompits, H.: Combining answer set programming with description logics for the semantic web. Artif. Intell. 172(12–13), 1495–1539 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  15. Cruz-Filipe, L., Nunes, I., Gaspar, G.: Patterns for interfacing between logic programs and multiple ontologies. In: Filipe, J., Dietz, J. (eds.) KEOD 2013, pp. 58–69. INSTICC (2013)

    Google Scholar 

  16. Gangemi, A., Presutti, V.: Ontology design patterns. In: Staab, S., Studer, R. (eds.) Handbook on Ontologies. International Handbooks on Information Systems, 2nd edn, pp. 221–243. Springer, Heidelberg (2009)

    Google Scholar 

  17. Eiter, T., Ianni, G., Lukasiewicz, T., Schindlauer, R.: Well-founded semantics for description logic programs in the semantic Web. ACM Trans. Comput. Logic 12(2), 1–41 (2011). Article 11

    Article  MathSciNet  Google Scholar 

  18. Kifer, M., Boley, H. (eds.): RIF overview. W3C Working Group Note, June 2010. http://www.w3.org/TR/2010/NOTE-rif-overview-20100622/

  19. Bruijn, J.D., Ehrig, M., Feier, C., Martíns-Recuerda, F., Scharffe, F., Weiten, M.: Ontology mediation, merging, and aligning. In: Davies, J., Studer, R., Warren, P. (eds.) Semantic Web Technologies: Trends and Research in Ontology-based Systems. Wiley, Chichester (2006)

    Google Scholar 

  20. Grau, B., Parsia, B., Sirin, E.: Combining OWL ontologies using e-connections. J. Web Semant. 4(1), 40–59 (2005)

    Google Scholar 

  21. Eiter, T., Ianni, G., Schindlauer, R., Tompits, H.: Effective integration of declarative rules with external evaluations for semantic-web reasoning. In: Sure, Y., Domingue, J. (eds.) ESWC 2006. LNCS, vol. 4011, pp. 273–287. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  22. Brewka, G., Eiter, T.: Equilibria in heterogeneous nonmonotonic multi-context systems. In: Proceedings of AAAI 2007, pp. 385–390. AAAI Press (2007)

    Google Scholar 

  23. Wang, K., Antoniou, G., Topor, R., Sattar, A.: Merging and aligning ontologies in dl-programs. In: Adi, A., Stoutenburg, S., Tabet, S. (eds.) RuleML 2005. LNCS, vol. 3791, pp. 160–171. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  24. Henriques, R.: Integration of ontologies with programs based on rules. Master’s thesis, FCUL, November 2013

    Google Scholar 

  25. Eiter, T., Ianni, G., Schindlauer, R., Tompits, H.: Towards efficient evaluation of HEX programs. In: Dix, J., Hunter, A. (eds.) Proceedings of NMR 2006, ASP Track, pp. 40–46. Institut für Informatik, TU Clausthal, Germany (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to I. Nunes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cruz-Filipe, L., Gaspar, G., Nunes, I. (2015). Design Patterns for Description-Logic Programs. In: Fred, A., Dietz, J., Liu, K., Filipe, J. (eds) Knowledge Discovery, Knowledge Engineering and Knowledge Management. IC3K 2013. Communications in Computer and Information Science, vol 454. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-46549-3_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-46549-3_13

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-46548-6

  • Online ISBN: 978-3-662-46549-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics