Cargando…

owlcpp: a C++ library for working with OWL ontologies

BACKGROUND: The increasing use of ontologies highlights the need for a library for working with ontologies that is efficient, accessible from various programming languages, and compatible with common computational platforms. RESULTS: We developed owlcpp, a library for storing and searching RDF tripl...

Descripción completa

Detalles Bibliográficos
Autores principales: Levin, Mikhail K., Cowell, Lindsay G.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2015
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4574266/
https://www.ncbi.nlm.nih.gov/pubmed/26388983
http://dx.doi.org/10.1186/s13326-015-0035-z
_version_ 1782390601124151296
author Levin, Mikhail K.
Cowell, Lindsay G.
author_facet Levin, Mikhail K.
Cowell, Lindsay G.
author_sort Levin, Mikhail K.
collection PubMed
description BACKGROUND: The increasing use of ontologies highlights the need for a library for working with ontologies that is efficient, accessible from various programming languages, and compatible with common computational platforms. RESULTS: We developed owlcpp, a library for storing and searching RDF triples, parsing RDF/XML documents, converting triples into OWL axioms, and reasoning. The library is written in ISO-compliant C++ to facilitate efficiency, portability, and accessibility from other programming languages. Internally, owlcpp uses the Raptor RDF Syntax library for parsing RDF/XML and the FaCT++ library for reasoning. The current version of owlcpp is supported under Linux, OSX, and Windows platforms and provides an API for Python. CONCLUSIONS: The results of our evaluation show that, compared to other commonly used libraries, owlcpp is significantly more efficient in terms of memory usage and searching RDF triple stores. owlcpp performs strict parsing and detects errors ignored by other libraries, thus reducing the possibility of incorrect semantic interpretation of ontologies. owlcpp is available at http://owl-cpp.sf.net/ under the Boost Software License, Version 1.0. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (doi:10.1186/s13326-015-0035-z) contains supplementary material, which is available to authorized users.
format Online
Article
Text
id pubmed-4574266
institution National Center for Biotechnology Information
language English
publishDate 2015
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-45742662015-09-19 owlcpp: a C++ library for working with OWL ontologies Levin, Mikhail K. Cowell, Lindsay G. J Biomed Semantics Software BACKGROUND: The increasing use of ontologies highlights the need for a library for working with ontologies that is efficient, accessible from various programming languages, and compatible with common computational platforms. RESULTS: We developed owlcpp, a library for storing and searching RDF triples, parsing RDF/XML documents, converting triples into OWL axioms, and reasoning. The library is written in ISO-compliant C++ to facilitate efficiency, portability, and accessibility from other programming languages. Internally, owlcpp uses the Raptor RDF Syntax library for parsing RDF/XML and the FaCT++ library for reasoning. The current version of owlcpp is supported under Linux, OSX, and Windows platforms and provides an API for Python. CONCLUSIONS: The results of our evaluation show that, compared to other commonly used libraries, owlcpp is significantly more efficient in terms of memory usage and searching RDF triple stores. owlcpp performs strict parsing and detects errors ignored by other libraries, thus reducing the possibility of incorrect semantic interpretation of ontologies. owlcpp is available at http://owl-cpp.sf.net/ under the Boost Software License, Version 1.0. ELECTRONIC SUPPLEMENTARY MATERIAL: The online version of this article (doi:10.1186/s13326-015-0035-z) contains supplementary material, which is available to authorized users. BioMed Central 2015-09-16 /pmc/articles/PMC4574266/ /pubmed/26388983 http://dx.doi.org/10.1186/s13326-015-0035-z Text en © Levin and Cowell. 2015 Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
spellingShingle Software
Levin, Mikhail K.
Cowell, Lindsay G.
owlcpp: a C++ library for working with OWL ontologies
title owlcpp: a C++ library for working with OWL ontologies
title_full owlcpp: a C++ library for working with OWL ontologies
title_fullStr owlcpp: a C++ library for working with OWL ontologies
title_full_unstemmed owlcpp: a C++ library for working with OWL ontologies
title_short owlcpp: a C++ library for working with OWL ontologies
title_sort owlcpp: a c++ library for working with owl ontologies
topic Software
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4574266/
https://www.ncbi.nlm.nih.gov/pubmed/26388983
http://dx.doi.org/10.1186/s13326-015-0035-z
work_keys_str_mv AT levinmikhailk owlcppaclibraryforworkingwithowlontologies
AT cowelllindsayg owlcppaclibraryforworkingwithowlontologies