1. A method of providing supplemental functionalities to an executable program, the method being implemented by a computer system comprising one or more processors executing one or more computer program instructions that, when executed, perform the method, the method comprising: causing an executable program associated with an ontology to be run, wherein the ontology comprises information indicating attributes for a set of applications; obtaining a domain-specific ontology, wherein the domain-specific ontology is within a domain of interest; obtaining an ontology instance of the ontology based on the domain-specific ontology, the ontology instance corresponding to an application of the set of applications that is within the domain of interest; extracting axiom information from the ontology; generating a set of logic rules using the axiom information; computing entailments on the ontology instance using the set of logic rules, wherein the entailments include asserted and inferred class membership of the ontology instance and verify that no axioms indicated in the axiom information are violated; using the ontology instance to generate application metadata for the executable program, wherein at least part of the application metadata is generated based on the set of logic rules, and wherein the application metadata defines one or more functionalities of the application of the set of applications that is within the domain of interest; and providing the application metadata as input to the executable program, wherein the application metadata, at least in part, causes the one or more functionalities of the application to be made available via the executable program.
1. A method of providing supplemental functionalities to an executable program, the method being implemented by a computer system comprising one or more processors executing one or more computer program instructions that, when executed, perform the method, the method comprising: causing an executable program associated with an ontology to be run, wherein the ontology comprises information indicating attributes for a set of applications; obtaining a domain-specific ontology, wherein the domain-specific ontology is within a domain of interest; obtaining an ontology instance of the ontology based on the domain-specific ontology, the ontology instance corresponding to an application of the set of applications that is within the domain of interest; extracting axiom information from the ontology; generating a set of logic rules using the axiom information; computing entailments on the ontology instance using the set of logic rules, wherein the entailments include asserted and inferred class membership of the ontology instance and verify that no axioms indicated in the axiom information are violated; using the ontology instance to generate application metadata for the executable program, wherein at least part of the application metadata is generated based on the set of logic rules, and wherein the application metadata defines one or more functionalities of the application of the set of applications that is within the domain of interest; and providing the application metadata as input to the executable program, wherein the application metadata, at least in part, causes the one or more functionalities of the application to be made available via the executable program. 7. The method of claim 1 , further comprising: extracting class information from the ontology; and using the class information to generate a programming interface, wherein the programming interface allows the executable program to access the application metadata.