OBO Ontology Repository Analysis

This document contains a brief analysis of the OBO ontology repository. The corpus version is a snapshot from November 2017.

200 ontologies were listed on the obofoundry pages, out of which:

Out of the 156 maintained ones,

Out of the 144 that were downloadable (either through Apache Commons IO or manually)

Out of the 134 parseable

Breakdown of the ones not found:

We used OWL API 4.2.8. All analysis is including any imported ontologies.

Corpus Description

table_o<-corpus_md[c("filename","o","ax_o_logical_axiom_count","ax_o_logical_axiom_count_incl","cat_main","cat_prof","expressivity","expressivity_incl")]
names(table_o)<-c("filename","Ontology","Axiom count","Axiom count (incl)","OWL 2","Profile Category","Expressivity","Expressivity (incl)")

options(scipen = 1000)

ggplot(corpus_md,aes(x=corpus_md$sizebin)) + geom_bar() + ggtitle("Number of ontologies by size bin (size = logical axiom count)")

ggplot(corpus_md,aes(x=corpus_md$tboxrbox_size_incl)) + geom_histogram() + scale_x_log10()+ ggtitle("Distribution of TBox size")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(corpus_md,aes(x=corpus_md$abox_size_incl)) + geom_histogram() + scale_x_log10()+ ggtitle("Distribution of ABox size")
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

#p<-generateDLProfileBarchart(corpus_md)
#grid::grid.draw(p$plot_1)

#kable(table_o[order(-table_o$`Axiom count (incl)`),])
asis_output("## Ontologies with no logical axioms:")

Ontologies with no logical axioms:

kable(corpus_md[corpus_md$validrecord&corpus_md$emptyontology,c("o","logical_axiom_count_incl","pre_analysis_logical_incl","pre_analysis_anno")])
o logical_axiom_count_incl pre_analysis_logical_incl pre_analysis_anno
17 cmf 0 0 0
19 cro 0 0 0
27 dpo 0 0 0
35 exo 0 0 0
113 rnao 0 0 0
118 sepio 0 0 0
141 xl 0 0 0

OWL 2 DL Axiomtypes

All axiom types, before and after metrics gathering. During metrics gathering, all annotations were removed. Including imports.

Warning, removing broken columns

OWL 2 DL Violations

violations<-names(corpus_md[grepl("viol_",names(corpus_md))])
#plotViolationBin(corpus_md,violations,"ProfileViolations")

#kable(corpus_md[corpus_md$owl2dl_profile_violation!="",c("filename","owl2dl_profile_violation")])

Analysis of violations ignoring undeclared entity violations ### Ontologies with violations (ignoring missing declarations)

o variable
cdao useofnonsimplepropertyincardinalityrestriction
cheminf useofreservedvocabularyforobjectpropertyiri
cteno useofnonsimplepropertyincardinalityrestriction
envo useofnonsimplepropertyincardinalityrestriction
ero useofreservedvocabularyforobjectpropertyiri
ero useofreservedvocabularyforclassiri
ero insufficientindividuals
genepio useofreservedvocabularyforobjectpropertyiri
hp useofnonsimplepropertyinfunctionalpropertyaxiom
miapa useofnonsimplepropertyincardinalityrestriction
mp useofnonsimplepropertyinfunctionalpropertyaxiom
ncit insufficientoperands
ncit useofundeclareddatatype
obi insufficientoperands
obib insufficientoperands
opl insufficientindividuals
pco useofnonsimplepropertyincardinalityrestriction
pdro insufficientoperands
swo useofreservedvocabularyforclassiri

Parse errors

kable(plyr::count(corpus_md_failed$error_cat))
x freq
UnparsableOntologyException 10
kable(corpus_md_failed[!is.na(corpus_md_failed$error_cat),c("filename","error_cat","exception_message")])
filename error_cat exception_message
dinto.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/dinto.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser16863f382 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser8a28e063 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser638081cc4 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser4753e6f96 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatF […RESTCUTOFF]
gaz.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/gaz.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser280179d32 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser110d745f3 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser35fbb08d4 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser6090aee66 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatFa […RESTCUTOFF]
ogg.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/ogg.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser5a80b3d2 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser42f41f3a3 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser7d8118484 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser7c980a106 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatFac […RESTCUTOFF]
ohd.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/ohd.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser5c3d19222 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser1a94b2063 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser1cfdd71d4 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser4e44376e6 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatFa […RESTCUTOFF]
ohmi.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/ohmi.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParserfcda3152 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser3c461bc93 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser319636e94 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser4cef06666 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatFa […RESTCUTOFF]
omiabis.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/omiabis.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser1f1e54b42 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser66903bab3 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser3a01ef244 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParserd30b4506 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentForma […RESTCUTOFF]
omit.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/omit.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser6a2879b82 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser64b85fa23 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser5bd8577d4 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser32c9efd96 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatF […RESTCUTOFF]
omrse.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/omrse.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser50b6161e2 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser7d22b85c3 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser17b617294 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser5fe3c6416 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormat […RESTCUTOFF]
ontoneo.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/ontoneo.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser271d23082 org.semanticweb.owlapi.owlxml.parser.OWLXMLParser4e587c873 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser3267f2e14 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser7e612b036 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentForm […RESTCUTOFF]
pr.owl UnparsableOntologyException java.lang.RuntimeException: org.semanticweb.owlapi.io.UnparsableOntologyException: Problem parsing file:/D:/000/obo112017/files/pr.owlCould not parse ontology. Either a suitable parser could not be found or parsing failed. See parser logs below for explanation.The following parsers were tried:1 org.semanticweb.owlapi.rdf.rdfxml.parser.RDFXMLParser2a848ca52 org.semanticweb.owlapi.owlxml.parser.OWLXMLParserf56c1583 org.semanticweb.owlapi.functional.parser.OWLFunctionalSyntaxOWLParser6f104f4 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.RioTurtleDocumentFormatFactory95fd655c5 org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxOntologyParser1e862a426 org.semanticweb.owlapi.rio.RioParserImpl : org.semanticweb.owlapi.formats.NQuadsDocumentFormatFactor […RESTCUTOFF]

Nico Matentzoglu

2017-11-23