Repository 'oppl'
hg clone https://toolshed.g2.bx.psu.edu/repos/mikel-egana-aranguren/oppl

Changeset 11:6ca67b155e32 (2012-03-09)
Previous changeset 10:3f31c0eb7539 (2012-01-12) Next changeset 12:d0722148cb59 (2012-03-22)
Commit message:
Imports simplified, new tool for inference added
modified:
OPPL/README
OPPL/oppl.xml
added:
OPPL/inference.jar
OPPL/inference.xml
OPPL/inference_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
OPPL/inference_lib/HermiT.jar
OPPL/inference_lib/antlr-runtime-3.2.jar
OPPL/inference_lib/aterm-java-1.6.jar
OPPL/inference_lib/commons-logging-1.1.1.jar
OPPL/inference_lib/jgrapht-jdk1.5.jar
OPPL/inference_lib/junit-4.8.2.jar
OPPL/inference_lib/junit.jar
OPPL/inference_lib/log4j-1.2.15.jar
OPPL/inference_lib/oboformat.jar
OPPL/inference_lib/org.coode.oppl-API.jar
OPPL/inference_lib/owlapi-bin.jar
OPPL/inference_lib/owlapi-bin_2.jar
OPPL/inference_lib/owllink-bin.jar
OPPL/inference_lib/parsers.jar
OPPL/inference_lib/pellet-core.jar
OPPL/inference_lib/pellet-datatypes.jar
OPPL/inference_lib/pellet-el.jar
OPPL/inference_lib/pellet-owlapiv3.jar
OPPL/inference_lib/pellet-query.jar
OPPL/inference_lib/pellet-rules.jar
OPPL/oppl_galaxy.jar
OPPL/oppl_galaxy_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
OPPL/oppl_galaxy_lib/HermiT.jar
OPPL/oppl_galaxy_lib/antlr-runtime-3.2.jar
OPPL/oppl_galaxy_lib/aterm-java-1.6.jar
OPPL/oppl_galaxy_lib/commons-logging-1.1.1.jar
OPPL/oppl_galaxy_lib/jgrapht-jdk1.5.jar
OPPL/oppl_galaxy_lib/junit-4.8.2.jar
OPPL/oppl_galaxy_lib/junit.jar
OPPL/oppl_galaxy_lib/log4j-1.2.15.jar
OPPL/oppl_galaxy_lib/oboformat.jar
OPPL/oppl_galaxy_lib/org.coode.oppl-API.jar
OPPL/oppl_galaxy_lib/owlapi-bin.jar
OPPL/oppl_galaxy_lib/owlapi-bin_2.jar
OPPL/oppl_galaxy_lib/owllink-bin.jar
OPPL/oppl_galaxy_lib/parsers.jar
OPPL/oppl_galaxy_lib/pellet-core.jar
OPPL/oppl_galaxy_lib/pellet-datatypes.jar
OPPL/oppl_galaxy_lib/pellet-el.jar
OPPL/oppl_galaxy_lib/pellet-owlapiv3.jar
OPPL/oppl_galaxy_lib/pellet-query.jar
OPPL/oppl_galaxy_lib/pellet-rules.jar
OPPL/src/GalaxyOWLAPI.java
OPPL/src/InferenceGalaxy.java
OPPL/src/OPPLGalaxy.java
OPPL/test-data/ontology/imports/imports_inference_test.owl
OPPL/test-data/ontology/imports/imports_test.owl
OPPL/test-data/ontology/single/inference_test.owl
OPPL/test-data/ontology/single/test.owl
OPPL/test-data/oppl_script/test.oppl
removed:
OPPL/Disjoint_localisation.oppl
OPPL/Tool.java
OPPL/cell.owl
OPPL/chebi.owl
OPPL/gene_ontology_ext.owl
OPPL/oppl.sh
OPPL/oppl_galaxy_tool.jar
OPPL/oppl_galaxy_tool_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
OPPL/oppl_galaxy_tool_lib/HermiT.jar
OPPL/oppl_galaxy_tool_lib/antlr-runtime-3.2.jar
OPPL/oppl_galaxy_tool_lib/aterm-java-1.6.jar
OPPL/oppl_galaxy_tool_lib/commons-logging-1.1.1.jar
OPPL/oppl_galaxy_tool_lib/jgrapht-jdk1.5.jar
OPPL/oppl_galaxy_tool_lib/junit-4.8.2.jar
OPPL/oppl_galaxy_tool_lib/junit.jar
OPPL/oppl_galaxy_tool_lib/log4j-1.2.15.jar
OPPL/oppl_galaxy_tool_lib/oboformat.jar
OPPL/oppl_galaxy_tool_lib/org.coode.oppl-API.jar
OPPL/oppl_galaxy_tool_lib/owlapi-bin.jar
OPPL/oppl_galaxy_tool_lib/owlapi-bin_2.jar
OPPL/oppl_galaxy_tool_lib/owllink-bin.jar
OPPL/oppl_galaxy_tool_lib/parsers.jar
OPPL/oppl_galaxy_tool_lib/pellet-core.jar
OPPL/oppl_galaxy_tool_lib/pellet-datatypes.jar
OPPL/oppl_galaxy_tool_lib/pellet-el.jar
OPPL/oppl_galaxy_tool_lib/pellet-owlapiv3.jar
OPPL/oppl_galaxy_tool_lib/pellet-query.jar
OPPL/oppl_galaxy_tool_lib/pellet-rules.jar
OPPL/test.oppl
OPPL/test.owl
OPPL/test_URI_mappings
OPPL/test_new.owl
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/Disjoint_localisation.oppl
--- a/OPPL/Disjoint_localisation.oppl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,7 +0,0 @@
-?localisation_sibling:CLASS
-SELECT 
-ASSERTED ?localisation_sibling SubClassOf GO_0008150
-WHERE ?localisation_sibling != GO_0051179
-BEGIN 
-ADD ?localisation_sibling DisjointWith GO_0051179
-END;
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/README
--- a/OPPL/README Thu Jan 12 10:20:00 2012 +0100
+++ b/OPPL/README Fri Mar 09 16:15:27 2012 +0100
b
@@ -1,9 +1,3 @@
-
-
-
- ===========
- OPPL-GALAXY
- ===========
 
 
 
@@ -12,60 +6,52 @@
 
 1.- Stop Galaxy.
 
-2.- Copy oppl_galaxy_tool.jar, FaCT++-linux-v1.5.2/ FaCT++-OSX-v1.5.2/ 
-and oppl_galaxy_tool_lib/ to /galaxy-dist/tool-data/shared/jars/
+2.- Copy the following files and dirs to
+/galaxy-dist/tool-data/shared/jars/:
+
+oppl_galaxy_tool.jar
+oppl_galax_lib/
+FaCT++-linux-v1.5.2/ 
+FaCT++-OSX-v1.5.2/
+inference.jar
+inference_lib/ 
 
 3.- Create directory /galaxy-dist/tools/OPPL/
 
-4.- Copy oppl.xml to /galaxy-dist/tools/OPPL/
+4.- Copy oppl.xml and inference.xml to /galaxy-dist/tools/OPPL/
 
 5.- Add the following lines to /galaxy-dist/tool_conf.xml:
 
   <section name="Ontology Pre Processor Language" id="oppl">
     <tool file="OPPL/oppl.xml"/>
+    <tool file="OPPL/inference.xml"/>
   </section>
 
 6.- Start Galaxy.
 
 
 
-USAGE
-=====
-
-An ontology and an OPPL file are needed (test.owl and test.oppl can be 
-used as samples). Load both:
-
-Get Data 
- >> Upload File from your computer 
-
-Then execute the OPPL file against the OWL file: 
-
-Ontology Pre Processor Language
- >> Execute an OPPL file against an OWL file 
-
-An ontology produced by another galaxy tool can also be used.
-
-Test.oppl and test.owl can be used as examples. More OPPL-Galaxy 
-examples can be obtained at http://miuras.inf.um.es/OPPL-Galaxy/, and 
-general OPPL script that may be useful to use with OPPL-Galaxy can be 
-obtained at http://oppl2.sourceforge.net/taggedexamples/.
-
-A public instance of Galaxy with pre-installed OPPL-Galaxy can be used 
-at http://sele.inf.um.es:8080/.
-
-
-
 FORESEEN FEATURES
 =================
 
-Choose which inferred axioms to add to the output ontology (Right now 
-only subsumption between named classes is available).
+OPPL:
+
+- Support for processing ontologies that import other ontologies loaded
+in galaxy.
+
+- Rendering definition (URI fragment, label, etc).
 
-Rendering definition (URI fragment, label, etc).
+- Standalone OPPL assertions parsing (e.g. ADD phagocyte subClassOf
+cell).
+
+- OWLLink and Racer support.
+
 
-XML catalog support for imported URIs.
+Inference:
 
-OWLLink and Racer support.
+- DataPropertyAssertion, DataPropertyHierarchy, DifferentIndividuals,
+...
+
 
 
 
@@ -74,31 +60,14 @@
 
 Currently Galaxy interprets any information thrown to stderr as a tool
 error, which is bad since OPPL (And many other tools) throw info to 
-sdterr even if working properly. In OPPL Galaxy, stderr is redirected to 
-/dev/null to avoid the problem, but that means that OPPL Galaxy does not 
-fail gracefully (It simply stops). A wrapper will be implemented.
+sdterr even if working properly. In OPPL Galaxy, stderr is redirected
+to /dev/null to avoid the problem, but that means that OPPL Galaxy does
+not fail gracefully (It simply stops). A wrapper will be implemented.
 
 http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr
 
 
 
-TESTS
-=====
-
-To run the functional test, first complete installation and then:
-
-1.- Copy test.owl and test.oppl to /galaxy-dist/test-data/
-
-2.- Add the following lines to /galaxy-dist/tool_conf.xml.sample
-
-  <section name="Ontology Pre Processor Language" id="oppl">
-    <tool file="OPPL/oppl.xml"/>
-  </section>
-
-3.- Execute /galaxy-dist/run_functional_tests.sh -id oppl
-
-
-
 CONTACT
 =======
 
@@ -118,10 +87,10 @@
 
 Copyright (c) 2011 Mikel Egaña Aranguren. 
 
-OPPL-Galaxy is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+(OPPL|Inference)-Galaxy is free software: you can redistribute it and/or
+modify it under the terms of the GNU General Public License as published
+by the Free Software Foundation, either version 3 of the License, or (at
+your option) any later version.
 
 This program is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/Tool.java
--- a/OPPL/Tool.java Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,271 +0,0 @@\n-/**\n- * Copyright (C) 2011, Mikel Ega\xc3\xb1a Aranguren\n- *\n- *  This program is free software: you can redistribute it and/or modify\n- *  it under the terms of the GNU General Public License as published by\n- *  the Free Software Foundation, either version 3 of the License, or\n- *  (at your option) any later version.\n- *\n- *  This program is distributed in the hope that it will be useful,\n- *  but WITHOUT ANY WARRANTY; without even the implied warranty of\n- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n- *  GNU General Public License for more details.\n- *\n- *  You should have received a copy of the GNU General Public License\n- *  along with this program.  If not, see <http://www.gnu.org/licenses/>.\n- */\n-\n-package es.upm.fi.dia.oeg.oppl.galaxy;\n-\n-import java.io.BufferedWriter;\n-import java.io.File;\n-//import java.io.PrintWriter;\n-//import java.io.FileNotFoundException;\n-import java.io.IOException;\n-import java.io.OutputStreamWriter;\n-import java.net.URISyntaxException;\n-import java.util.ArrayList;\n-import java.util.List;\n-import java.util.Scanner;\n-//import java.util.logging.Level;\n-import java.util.logging.Logger;\n-\n-import org.coode.oppl.ChangeExtractor;\n-import org.coode.oppl.OPPLParser;\n-import org.coode.oppl.OPPLScript;\n-import org.coode.oppl.ParserFactory;\n-import org.coode.oppl.exceptions.QuickFailRuntimeExceptionHandler;\n-//import org.coode.oppl.log.Logging;\n-import org.coode.owlapi.obo.parser.OBOOntologyFormat;\n-import org.coode.parsers.ErrorListener;\n-import org.coode.parsers.LoggerErrorListener;\n-//import org.obolibrary.obo2owl.Owl2Obo;\n-//import org.obolibrary.oboformat.model.OBODoc;\n-//import org.obolibrary.oboformat.writer.OBOFormatWriter;\n-import org.semanticweb.owlapi.apibinding.OWLManager;\n-import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;\n-import org.semanticweb.owlapi.io.SystemOutDocumentTarget;\n-import org.semanticweb.owlapi.model.AddAxiom;\n-import org.semanticweb.owlapi.model.IRI;\n-import org.semanticweb.owlapi.model.OWLAnnotation;\n-import org.semanticweb.owlapi.model.OWLAnnotationProperty;\n-import org.semanticweb.owlapi.model.OWLAxiom;\n-import org.semanticweb.owlapi.model.OWLAxiomChange;\n-import org.semanticweb.owlapi.model.OWLClass;\n-import org.semanticweb.owlapi.model.OWLDataFactory;\n-import org.semanticweb.owlapi.model.OWLLiteral;\n-//import org.semanticweb.owlapi.model.OWLObjectProperty;\n-import org.semanticweb.owlapi.model.OWLOntology;\n-import org.semanticweb.owlapi.model.OWLOntologyChange;\n-import org.semanticweb.owlapi.model.OWLOntologyCreationException;\n-import org.semanticweb.owlapi.model.OWLOntologyIRIMapper;\n-import org.semanticweb.owlapi.model.OWLOntologyManager;\n-import org.semanticweb.owlapi.model.OWLOntologyStorageException;\n-//import org.semanticweb.owlapi.owllink.OWLlinkHTTPXMLReasonerFactory;\n-import org.semanticweb.owlapi.reasoner.InferenceType;\n-import org.semanticweb.owlapi.reasoner.OWLReasoner;\n-import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;\n-import org.semanticweb.owlapi.util.InferredAxiomGenerator;\n-import org.semanticweb.owlapi.util.InferredOntologyGenerator;\n-import org.semanticweb.owlapi.util.InferredSubClassAxiomGenerator;\n-import org.semanticweb.owlapi.util.OWLEntityRenamer;\n-import org.semanticweb.owlapi.util.OWLOntologyMerger;\n-import org.semanticweb.owlapi.util.SimpleIRIMapper;\n-import org.semanticweb.owlapi.vocab.OWL2Datatype;\n-import org.semanticweb.owlapi.vocab.OWLRDFVocabulary;\n-\n-import uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory;\n-\n-import com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory;\n-\n-import org.semanticweb.HermiT.Reasoner;\n-\n-/**\n- * @author Mikel Ega\xc3\xb1a Aranguren\n- */\n-public class Tool {\n-\n-\t/**\n-\t * @throws OWLOntologyCreationException \n-\t * @throws OWLOntologyStorageException \n-\t * @throws IOException \n-\t * @throws URISyntaxException \n-\t */\n-\tpublic static void main(String[] args) throws OWLOntologyCreationException, OWLOntologyStorageException, IOException, URISyntaxExcepti'..b'recomputeInferences(InferenceType.CLASS_HIERARCHY);\n-\t\t\tList<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<InferredAxiomGenerator<? extends OWLAxiom>>();\n-\t\t\tgens.add(new InferredSubClassAxiomGenerator());\n-\t\t\tInferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner, gens);\n-\t\t\tiog.fillOntology(manager, OWL_ontology);\t\n-\t\t}\n-\t\t\n-\t\t// Print the ontology to the standard output so other galaxy tools can operate on it\n-\t\t\n-\t\t// Merge ontologies (Only in case there are imports)\n-\t\tif(!merge_URI.equals("NoMerge") && !imports_file_path.equals("NoImports")){\n-\t\t\tOWLOntologyMerger merger = new OWLOntologyMerger(manager);\n-\t\t\tIRI mergedOntologyIRI = IRI.create(merge_URI);\n-\t\t\tOWLOntology merged = merger.createMergedOntology(manager, mergedOntologyIRI);\n-\t\t\tsaveOntology(manager, merged, Output_format);\n-\t\t}\n-\t\t// Do not merge ontologies (Even in the case in which a URI is provided, if there are not imports do not merge)\t\n-\t\telse{\t\n-\t\t\tsaveOntology(manager, OWL_ontology, Output_format);\n-\t\t}\n-\t}\n-\t\n-\tprivate static void saveOntology (OWLOntologyManager manager, OWLOntology ontology, String Format) throws OWLOntologyStorageException, IOException, URISyntaxException {\n-\t\t\n-\t\t// OBO format\n-\t\tif(Format.equals("OBO")){\n-\t\t\t\n-\t\t\t// OWL API generates bad OBO but OBOformat doesn\'t work either so I correct the OWL API problems (More predictable) in a temporary file\n-\t\t\t// Very inefficient but no time for another solution\n-\t\t\t\n-\t\t\tOWLDataFactory factory = manager.getOWLDataFactory();\n-\t\t\t\n-\t\t\tOWLEntityRenamer renamer = new OWLEntityRenamer (manager, manager.getOntologies());\n-\t\t\tOWLAnnotationProperty label = factory.getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI());\n-\t\t\t\n-\t\t\tfor(OWLClass cls : ontology.getClassesInSignature()){\n-\t\t\t\t// Remove annotations (OWL API generates bad OBO annotations)\n-\t\t\t\t\n-\t\t\t\t// Keep rdfs:label\n-\t\t\t\tString class_name = null;\n-\t\t\t\tfor (OWLAnnotation annotation : cls.getAnnotations(ontology, label)){\n-\t\t\t\t\tif (annotation.getValue() instanceof OWLLiteral) {\n-\t\t\t\t\t\tOWLLiteral val = (OWLLiteral) annotation.getValue();\n-\t\t\t\t\t\tclass_name = val.getLiteral();\n-\t\t\t\t\t}\n-\t\t\t\t}\n-\t\t\t\t\t\t\t\n-//\t\t\t\tI have to remove all the annotations cause I don\'t know which ones are rendered properly\n-\t\t\t\tmanager.removeAxioms(ontology,ontology.getAnnotationAssertionAxioms(cls.getIRI()));\n-\t\t\t\t\n-\t\t\t\t// Add rdfs:label again\n-\t\t\t\tOWLAnnotation labelAnno = factory.getOWLAnnotation(factory.getOWLAnnotationProperty(\n-\t\t\t\tOWLRDFVocabulary.RDFS_LABEL.getIRI()),factory.getOWLLiteral(class_name,OWL2Datatype.XSD_STRING));\n-\t\t\t\tOWLAxiom ax = factory.getOWLAnnotationAssertionAxiom(cls.getIRI(), labelAnno);\n-\t\t\t\tmanager.applyChange(new AddAxiom(ontology, ax));\n-\t\t\t\t\n-\t\t\t\t// Rename entities\n-\t\t\t\tString cls_IRI = cls.getIRI().toString();\n-\t\t\t\tString cls_proper_IRI = cls_IRI.replace("_", ":");\n-\t\t\t\tList<OWLOntologyChange> changes = renamer.changeIRI(cls, IRI.create(cls_proper_IRI));\n-\t\t\t\tmanager.applyChanges(changes);\n-\t\t\t}\n-\t\t\t\n-\t\t\tFile file = new File("tmp.obo");\n-\t\t\tmanager.saveOntology(ontology, new OBOOntologyFormat(), IRI.create(file.toURI()));\n-\t\t\tBufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));\t\t\n-\t\t\tScanner input = new Scanner(file);\n-\t\t\tString buffer = "";\n-\n-\t\t\twhile(input.hasNext()){\n-\t\t\t\tString nextLine = input.nextLine();\n-\t\t\t\tif(nextLine.contains("[Term]") || nextLine.contains("[Typedef]")){\n-\t\t\t\t\tif(buffer.isEmpty()){\n-\t\t\t\t\t\tbw.write(buffer);\n-\t\t\t\t\t\tbw.newLine();\n-\t\t\t\t\t}\n-\t\t\t\t}\n-\t\t\t\tif(!nextLine.contains("is_a: Thing") && !nextLine.contains("auto-generated-by:") && !nextLine.contains("id_space:") && !nextLine.contains("! ----")){\n-\t\t\t\t\tif(!nextLine.isEmpty() && !buffer.contains("relationship:")){\n-\t\t\t\t\t\tbw.write(nextLine);\n-\t\t\t\t\t\tbw.newLine();\n-\t\t\t\t\t}\n-\t\t\t\t}\n-\t\t\t\tbuffer = nextLine;\n-\t\t\t}\n-\t\t\tinput.close();\n-\t\t\tbw.close();\n-\t\t\tfile.delete();\n-\t\t}\n-\t\t\n-\t\t//OWL format\n-\t\telse{\n-\t\t\tmanager.saveOntology(ontology, new RDFXMLOntologyFormat(), new SystemOutDocumentTarget());\n-\t\t}\n-\t}\n-}\n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/cell.owl
--- a/OPPL/cell.owl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,39919 +0,0 @@\n-<?xml version="1.0"?>\n-\n-\n-<!DOCTYPE rdf:RDF [\n-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >\n-    <!ENTITY obo "http://purl.obolibrary.org/obo/" >\n-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >\n-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >\n-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >\n-]>\n-\n-\n-<rdf:RDF xmlns="&obo;UBERON_uberon#"\n-     xml:base="&obo;UBERON_uberon"\n-     xmlns:obo="http://purl.obolibrary.org/obo/"\n-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"\n-     xmlns:owl="http://www.w3.org/2002/07/owl#"\n-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"\n-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n-    <owl:Ontology rdf:about="&obo;UBERON_uberon">\n-        <obo:remark rdf:datatype="&xsd;string">$Revision: 1.52 $  See PMID:15693950, PMID:12799354, PMID:20123131, Contact Alexander Diehl, addiehl@buffalo.edu, University of Buffalo.</obo:remark>\n-        <obo:format-version rdf:datatype="&xsd;string">1.2</obo:format-version>\n-        <obo:data-version rdf:datatype="&xsd;string">2011-06-03</obo:data-version>\n-        <obo:date rdf:datatype="&xsd;string">24:08:2011 09:07</obo:date>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd;string">AAO part_of NCBITaxon:8292</obo:treat-xrefs-as-genus-differentia>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">ATTRIBUTION_REQUIRED &quot;expert consultation and attribution required&quot;</obo:synonymtypedef>\n-        <obo:treat-xrefs-as-equivalent rdf:datatype="&xsd;string">BILA</obo:treat-xrefs-as-equivalent>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">BRAND_NAME &quot;BRAND NAME&quot;</obo:synonymtypedef>\n-        <obo:treat-xrefs-as-equivalent rdf:datatype="&xsd;string">BSPO</obo:treat-xrefs-as-equivalent>\n-        <obo:treat-xrefs-as-equivalent rdf:datatype="&xsd;string">CARO</obo:treat-xrefs-as-equivalent>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">DUBIOUS &quot;dubious or contested synonym&quot;</obo:synonymtypedef>\n-        <obo:treat-xrefs-as-has-subclass rdf:datatype="&xsd;string">EHDAA</obo:treat-xrefs-as-has-subclass>\n-        <obo:treat-xrefs-as-has-subclass rdf:datatype="&xsd;string">EHDAA2</obo:treat-xrefs-as-has-subclass>\n-        <obo:treat-xrefs-as-has-subclass rdf:datatype="&xsd;string">EMAPA</obo:treat-xrefs-as-has-subclass>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd;string">FBbt part_of NCBITaxon:7227</obo:treat-xrefs-as-genus-differentia>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd;string">FMA part_of NCBITaxon:9606</obo:treat-xrefs-as-genus-differentia>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">FORMULA &quot;FORMULA&quot;</obo:synonymtypedef>\n-        <obo:treat-xrefs-as-equivalent rdf:datatype="&xsd;string">GO</obo:treat-xrefs-as-equivalent>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd;string">HAO part_of NCBITaxon:7399</obo:treat-xrefs-as-genus-differentia>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">HOMOLOGY &quot;a synonym made on the basis of a possibly homologous structure in another species&quot;</obo:synonymtypedef>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">INCONSISTENT &quot;indicates that a synonym is used in an inconsistent or confusing way, typically between species&quot;</obo:synonymtypedef>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">INN &quot;INN&quot;</obo:synonymtypedef>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">IUPAC_NAME &quot;IUPAC NAME&quot;</obo:synonymtypedef>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">InChI &quot;InChI&quot;</obo:synonymtypedef>\n-        <obo:synonymtypedef rdf:datatype="&xsd;string">InChIKey &quot;InChIKey&quot;</obo:synonymtypedef>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd;string">KUPO part_of NCBITaxon:9606</obo:treat-xrefs-as-genus-differentia>\n-        <obo:treat-xrefs-as-genus-differentia rdf:datatype="&xsd'..b'bo;UBERON_located_in">\n-        <rdfs:label rdf:datatype="&xsd;string">located_in</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_exists_during">\n-        <rdfs:label rdf:datatype="&xsd;string">exists_during</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_not_completed">\n-        <rdfs:label rdf:datatype="&xsd;string">has_not_completed</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_parent_hydride">\n-        <rdfs:label rdf:datatype="&xsd;string">has parent hydride</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_similar_in_magnitude_relative_to">\n-        <rdfs:label rdf:datatype="&xsd;string">similar_in_magnitude_relative_to</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_modification">\n-        <rdfs:label rdf:datatype="&xsd;string">has_modification</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_derives_from">\n-        <rdfs:label rdf:datatype="&xsd;string">derives_from</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_singly_occurring_form_of">\n-        <rdfs:label rdf:datatype="&xsd;string">singly_occurring_form_of</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_existence_starts_with">\n-        <rdfs:label rdf:datatype="&xsd;string">existence_starts_with</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_branch_of">\n-        <rdfs:label rdf:datatype="&xsd;string">branch_of</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_precedes">\n-        <rdfs:label rdf:datatype="&xsd;string">precedes</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_ratio_quality">\n-        <rdfs:label rdf:datatype="&xsd;string">has_ratio_quality</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_participates_in">\n-        <rdfs:label rdf:datatype="&xsd;string">participates in</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_deep_to">\n-        <rdfs:label rdf:datatype="&xsd;string">deep_to</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_inheres_in_progenitor_of">\n-        <rdfs:label rdf:datatype="&xsd;string">inheres_in_progenitor_of</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_never_in_taxon">\n-        <rdfs:label rdf:datatype="&xsd;string">never_in_taxon</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_output_of">\n-        <rdfs:label rdf:datatype="&xsd;string">output_of</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_part">\n-        <rdfs:label rdf:datatype="&xsd;string">has part</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_divisor_entity">\n-        <rdfs:label rdf:datatype="&xsd;string">has_divisor_entity</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_is_unit_of">\n-        <rdfs:label rdf:datatype="&xsd;string">is_unit_of</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_has_function_in">\n-        <rdfs:label rdf:datatype="&xsd;string">has_function_in</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_existence_ends_during">\n-        <rdfs:label rdf:datatype="&xsd;string">existence_ends_during</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_lacks_part">\n-        <rdfs:label rdf:datatype="&xsd;string">lacks_part</rdfs:label>\n-    </rdf:Description>\n-    <rdf:Description rdf:about="&obo;UBERON_finishes">\n-        <rdfs:label rdf:datatype="&xsd;string">finishes</rdfs:label>\n-    </rdf:Description>\n-</rdf:RDF>\n-\n-\n-\n-<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->\n-\n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/chebi.owl
--- a/OPPL/chebi.owl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1078327 +0,0 @@\n-<?xml version="1.0"?>\n-\n-\n-<!DOCTYPE rdf:RDF [\n-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >\n-    <!ENTITY obo "http://purl.obolibrary.org/obo/" >\n-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >\n-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >\n-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >\n-]>\n-\n-\n-<rdf:RDF xmlns="&obo;CHEBI_ONTOLOGY_chebi_ontology#"\n-     xml:base="&obo;CHEBI_ONTOLOGY_chebi_ontology"\n-     xmlns:obo="http://purl.obolibrary.org/obo/"\n-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"\n-     xmlns:owl="http://www.w3.org/2002/07/owl#"\n-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"\n-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n-    <owl:Ontology rdf:about="&obo;CHEBI_ONTOLOGY_chebi_ontology"/>\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Annotation properties\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    <owl:AnnotationProperty rdf:about="&obo;synonymtype"/>\n-    <owl:AnnotationProperty rdf:about="&obo;xref"/>\n-    <owl:AnnotationProperty rdf:about="&obo;def"/>\n-    <owl:AnnotationProperty rdf:about="&obo;is_obsolete"/>\n-    <owl:AnnotationProperty rdf:about="&obo;synonym"/>\n-    <owl:AnnotationProperty rdf:about="&obo;is_cyclic"/>\n-    <owl:AnnotationProperty rdf:about="&obo;alt_id"/>\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Datatypes\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Object Properties\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_has_functional_parent -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_has_functional_parent">\n-        <rdfs:label rdf:datatype="&xsd;string">has functional parent</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_has_parent_hydride -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_has_parent_hydride">\n-        <rdfs:label rdf:datatype="&xsd;string">has parent hydride</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_has_part -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_has_part">\n-        <rdf:type rdf:resource="&owl;TransitiveProperty"/>\n-        <rdfs:label rdf:datatype="&xsd;string">has part</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_has_role -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_has_role">\n-        <rdfs:label rdf:datatype="&xsd;string">has role</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_is_conjugate_acid_of -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_is_conjugate_acid_of">\n-        <rdfs:label rdf:datatype="&xsd;string">is conjugate acid of</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_is_conjugate_base_of -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_is_conjugate_base_of">\n-        <rdfs:label rdf:datatype="&xsd;string">is conjugate base of</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_is_enantiomer_of -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;CHEBI_ONTOLOGY_is_enantiomer_of">\n-        <rdfs:label rdf:datatype="&xsd;string">is enantiomer of</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_is_subs'..b'd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>Velban (TN)</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9984"/>\n-        <obo:xref rdf:resource="&obo;KEGG%20DRUG:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/CHEBI_9985 -->\n-\n-    <owl:Class rdf:about="&obo;CHEBI_9985">\n-        <rdfs:label rdf:datatype="&xsd;string">vincamine</rdfs:label>\n-        <rdfs:subClassOf rdf:resource="&obo;CHEBI_27288"/>\n-        <rdfs:subClassOf rdf:resource="&obo;CHEBI_38481"/>\n-        <rdfs:subClassOf>\n-            <owl:Restriction>\n-                <owl:onProperty rdf:resource="&obo;CHEBI_ONTOLOGY_has_role"/>\n-                <owl:someValuesFrom rdf:resource="&obo;CHEBI_35620"/>\n-            </owl:Restriction>\n-        </rdfs:subClassOf>\n-        <rdfs:subClassOf>\n-            <owl:Restriction>\n-                <owl:onProperty rdf:resource="&obo;CHEBI_ONTOLOGY_has_role"/>\n-                <owl:someValuesFrom rdf:resource="&obo;CHEBI_35674"/>\n-            </owl:Restriction>\n-        </rdfs:subClassOf>\n-        <rdfs:subClassOf>\n-            <owl:Restriction>\n-                <owl:onProperty rdf:resource="&obo;CHEBI_ONTOLOGY_has_functional_parent"/>\n-                <owl:someValuesFrom rdf:resource="&obo;CHEBI_35644"/>\n-            </owl:Restriction>\n-        </rdfs:subClassOf>\n-        <obo:xref>KEGG COMPOUND:1617-90-9 &quot;CAS Registry Number&quot;</obo:xref>\n-        <obo:synonym>(+)-Vincamine</obo:synonym>\n-        <obo:xref>Beilstein:52767 &quot;Beilstein Registry Number&quot;</obo:xref>\n-        <obo:synonym>Pervincamine</obo:synonym>\n-        <obo:synonym>Methyl vincaminate</obo:synonym>\n-        <obo:def>&quot;An alkaloid ester that has formula C21H26N2O3.&quot; []</obo:def>\n-        <obo:synonym>Vincamidol</obo:synonym>\n-        <obo:xref>ChemIDplus:1617-90-9 &quot;CAS Registry Number&quot;</obo:xref>\n-        <obo:synonym>Vincamine</obo:synonym>\n-        <obo:xref>KEGG COMPOUND:C09251 &quot;KEGG COMPOUND&quot;</obo:xref>\n-    </owl:Class>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>(+)-Vincamine</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9985"/>\n-        <obo:xref rdf:resource="&obo;ChemIDplus:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>Methyl vincaminate</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9985"/>\n-        <obo:xref rdf:resource="&obo;ChemIDplus:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>Vincamidol</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9985"/>\n-        <obo:xref rdf:resource="&obo;ChemIDplus:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>Pervincamine</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9985"/>\n-        <obo:xref rdf:resource="&obo;ChemIDplus:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">EXACT</obo:synonymtype>\n-        <owl:annotatedTarget>Vincamine</owl:annotatedTarget>\n-        <owl:annotatedSource rdf:resource="&obo;CHEBI_9985"/>\n-        <obo:xref rdf:resource="&obo;KEGG%20COMPOUND:"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-</rdf:RDF>\n-\n-\n-\n-<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->\n-\n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/gene_ontology_ext.owl
--- a/OPPL/gene_ontology_ext.owl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
b'@@ -1,1139966 +0,0 @@\n-<?xml version="1.0"?>\n-\n-\n-<!DOCTYPE rdf:RDF [\n-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >\n-    <!ENTITY obo "http://purl.obolibrary.org/obo/" >\n-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >\n-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >\n-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >\n-]>\n-\n-\n-<rdf:RDF xmlns="&obo;go#"\n-     xml:base="&obo;go"\n-     xmlns:obo="http://purl.obolibrary.org/obo/"\n-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"\n-     xmlns:owl="http://www.w3.org/2002/07/owl#"\n-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"\n-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">\n-    <owl:Ontology rdf:about="&obo;go">\n-        <owl:imports rdf:resource="&obo;CHEBI_ONTOLOGY_chebi_ontology"/>\n-        <owl:imports rdf:resource="&obo;UBERON_uberon"/>\n-    </owl:Ontology>\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Annotation properties\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    <owl:AnnotationProperty rdf:about="&obo;consider"/>\n-    <owl:AnnotationProperty rdf:about="&obo;synonymtype"/>\n-    <owl:AnnotationProperty rdf:about="&obo;def"/>\n-    <owl:AnnotationProperty rdf:about="&obo;subset"/>\n-    <owl:AnnotationProperty rdf:about="&obo;comment"/>\n-    <owl:AnnotationProperty rdf:about="&obo;alt_id"/>\n-    <owl:AnnotationProperty rdf:about="&obo;replaced_by"/>\n-    <owl:AnnotationProperty rdf:about="&obo;transitive_over"/>\n-    <owl:AnnotationProperty rdf:about="&obo;namespace"/>\n-    <owl:AnnotationProperty rdf:about="&obo;xref"/>\n-    <owl:AnnotationProperty rdf:about="&obo;is_obsolete"/>\n-    <owl:AnnotationProperty rdf:about="&obo;synonym"/>\n-    <owl:AnnotationProperty rdf:about="&obo;created_by"/>\n-    <owl:AnnotationProperty rdf:about="&obo;creation_date"/>\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Datatypes\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    \n-\n-\n-    <!-- \n-    ///////////////////////////////////////////////////////////////////////////////////////\n-    //\n-    // Object Properties\n-    //\n-    ///////////////////////////////////////////////////////////////////////////////////////\n-     -->\n-\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GENE_ONTOLOGY_has_part -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;GENE_ONTOLOGY_has_part">\n-        <rdf:type rdf:resource="&owl;TransitiveProperty"/>\n-        <rdfs:label rdf:datatype="&xsd;string">has_part</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GENE_ONTOLOGY_negatively_regulates -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;GENE_ONTOLOGY_negatively_regulates">\n-        <rdfs:label rdf:datatype="&xsd;string">negatively_regulates</rdfs:label>\n-        <rdfs:subPropertyOf rdf:resource="&obo;GENE_ONTOLOGY_regulates"/>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GENE_ONTOLOGY_occurs_in -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;GENE_ONTOLOGY_occurs_in">\n-        <rdfs:label rdf:datatype="&xsd;string">occurs in</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GENE_ONTOLOGY_part_of -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;GENE_ONTOLOGY_part_of">\n-        <rdf:type rdf:resource="&owl;TransitiveProperty"/>\n-        <rdfs:label rdf:datatype="&xsd;string">part_of</rdfs:label>\n-    </owl:ObjectProperty>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GENE_ONTOLOGY_positively_regulates -->\n-\n-    <owl:ObjectProperty rdf:about="&obo;GENE_ONTOLOGY_positively_regulates">\n-        <rdfs:label rdf:datatype="&xsd;string">positively_regulates</rdfs:label>\n-        <rdfs:subPropertyOf rdf:resource="&obo;GENE_ONTOLOGY_regulates"/>'..b'    <obo:creation_date>2011-09-14T12:01:06Z</obo:creation_date>\n-    </owl:Class>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>animal starch binding</owl:annotatedTarget>\n-        <obo:xref rdf:resource="&obo;GOC_obol"/>\n-        <owl:annotatedSource rdf:resource="&obo;GO_2001069"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>liver starch binding</owl:annotatedTarget>\n-        <obo:xref rdf:resource="&obo;GOC_obol"/>\n-        <owl:annotatedSource rdf:resource="&obo;GO_2001069"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GO_2001070 -->\n-\n-    <owl:Class rdf:about="&obo;GO_2001070">\n-        <rdfs:label rdf:datatype="&xsd;string">starch binding</rdfs:label>\n-        <rdfs:subClassOf rdf:resource="&obo;GO_0030247"/>\n-        <obo:synonym>amidon binding</obo:synonym>\n-        <obo:created_by>jane</obo:created_by>\n-        <obo:namespace>molecular_function</obo:namespace>\n-        <obo:def>&quot;Interacting selectively and non-covalently with starch.&quot; [GOC:mengo_curators]</obo:def>\n-        <obo:creation_date>2011-09-14T12:02:50Z</obo:creation_date>\n-        <obo:synonym>amylum binding</obo:synonym>\n-    </owl:Class>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>amylum binding</owl:annotatedTarget>\n-        <obo:xref rdf:resource="&obo;GOC_obol"/>\n-        <owl:annotatedSource rdf:resource="&obo;GO_2001070"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    <owl:Axiom>\n-        <obo:synonymtype rdf:datatype="&xsd;string">RELATED</obo:synonymtype>\n-        <owl:annotatedTarget>amidon binding</owl:annotatedTarget>\n-        <obo:xref rdf:resource="&obo;GOC_obol"/>\n-        <owl:annotatedSource rdf:resource="&obo;GO_2001070"/>\n-        <owl:annotatedProperty rdf:resource="&obo;synonym"/>\n-    </owl:Axiom>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GO_2001071 -->\n-\n-    <owl:Class rdf:about="&obo;GO_2001071">\n-        <rdfs:label rdf:datatype="&xsd;string">maltoheptaose binding</rdfs:label>\n-        <rdfs:subClassOf rdf:resource="&obo;GO_0070492"/>\n-        <obo:def>&quot;Interacting selectively and non-covalently with maltoheptaose.&quot; [GOC:mengo_curators]</obo:def>\n-        <obo:namespace>molecular_function</obo:namespace>\n-        <obo:created_by>jane</obo:created_by>\n-        <obo:creation_date>2011-09-14T12:04:30Z</obo:creation_date>\n-    </owl:Class>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GO_2001072 -->\n-\n-    <owl:Class rdf:about="&obo;GO_2001072">\n-        <rdfs:label rdf:datatype="&xsd;string">galactomannan binding</rdfs:label>\n-        <rdfs:subClassOf rdf:resource="&obo;GO_0010297"/>\n-        <obo:namespace>molecular_function</obo:namespace>\n-        <obo:creation_date>2011-09-14T12:12:02Z</obo:creation_date>\n-        <obo:def>&quot;Interacting selectively and non-covalently with galactomannan.&quot; [GOC:mengo_curators]</obo:def>\n-        <obo:created_by>jane</obo:created_by>\n-    </owl:Class>\n-    \n-\n-\n-    <!-- http://purl.obolibrary.org/obo/GO_2001073 -->\n-\n-    <owl:Class rdf:about="&obo;GO_2001073">\n-        <rdfs:label rdf:datatype="&xsd;string">cyclodextrin binding</rdfs:label>\n-        <rdfs:subClassOf rdf:resource="&obo;GO_0030247"/>\n-        <obo:created_by>jane</obo:created_by>\n-        <obo:namespace>molecular_function</obo:namespace>\n-        <obo:creation_date>2011-09-14T12:24:30Z</obo:creation_date>\n-        <obo:def>&quot;Interacting selectively and non-covalently with cyclodextrin.&quot; [GOC:mengo_curators]</obo:def>\n-    </owl:Class>\n-</rdf:RDF>\n-\n-\n-\n-<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->\n-\n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference.jar
b
Binary file OPPL/inference.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/inference.xml Fri Mar 09 16:15:27 2012 +0100
b
@@ -0,0 +1,80 @@
+<tool id="inference" name="Perform inference in an OWL ontology" version="1.0.1">
+ <description>It performs inference in an OWL ontology and it generates a new ontology with the inferred axioms as asserted axioms</description>
+
+ <!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that's too much for your machine simply delete or modify at will, but since Galaxy is usually used in a server setting it makes sense to use a big chunk of memory -->
+
+ <command>
+ java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/inference.jar $input $reasoner $axioms > $output
+ </command>
+
+ <inputs>
+ <param format="text" name="input" type="data" label="Input ontology file"/>
+ <param name="reasoner" type="select" label="Choose reasoner">
+ <option value="Pellet" selected="true">Pellet</option>
+ <option value="HermiT">HermiT</option>
+ <option value="FaCTPlusPlus">FaCT++</option>
+ </param>
+ <param name="axioms" type="select" display="checkboxes" multiple="true" label="Select what axioms to add as asserted">
+   <option value="CLASS_ASSERTIONS">CLASS_ASSERTIONS</option>
+   <option value="CLASS_HIERARCHY">CLASS_HIERARCHY</option>
+   <option value="DATA_PROPERTY_HIERARCHY">DATA_PROPERTY_HIERARCHY</option>
+   <option value="DISJOINT_CLASSES">DISJOINT_CLASSES</option>
+   <option value="OBJECT_PROPERTY_HIERARCHY">OBJECT_PROPERTY_HIERARCHY</option>
+ </param>
+ </inputs>
+ <outputs>
+ <data format="text" name="output" />
+ </outputs>
+ <tests>
+ <test>
+ <param name="input" value="test.owl"/>
+ <param name="reasoner" value="Pellet"/>
+ <param name="axioms" value="CLASS_ASSERTIONS,CLASS_HIERARCHY,OBJECT_PROPERTY_HIERARCHY"/>
+ <output name="out_file" file="test_new.owl"/>
+ </test>
+ </tests>
+ <help>
+
+**About Inference-Galaxy**
+
+  Inference galaxy offers the possibility of performing automated reasoning in an ontology and then injecting the inferred axioms as asserted axioms, generating a new OWL ontology.
+
+**Formats**
+
+  Inference-Galaxy uses the OWL API, and therefore it can load any ontology format that such API is able to load: OBO flat file, OWL (RDF/XML, OWL/XML, Functional, Manchester), turtle, and KRSS. The output is OWL (RDF/XML).
+
+**Usage**

+  An ontology is needed as input: load it with Get Data >> Upload File from your computer or redirect the output of another galaxy tool. In case the ontology includes imports, they should be resolvable.
+  
+  The reasoner can be Pellet, HermiT or FaCT++.  
+  
+  The inferred axioms to add as asserted axioms can be chosen. 
+
+**More information**
+  
+  Galaxy public instances with Inference-Galaxy pre-installed:
+  
+  http://sele.inf.um.es:8080/
+  
+  http://linkeddata2.dia.fi.upm.es:8080
+  
+  Links of interest:
+
+  http://owlapi.sourceforge.net/
+
+  http://www.w3.org/TR/owl2-manchester-syntax/
+
+  http://clarkparsia.com/pellet
+
+  http://hermit-reasoner.com/
+  
+  http://code.google.com/p/factplusplus/
+
+**Contact**
+
+  Please send any request or comment to mikel.egana.aranguren@gmail.com.
+
+ </help>
+
+</tool>
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
b
Binary file OPPL/inference_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/HermiT.jar
b
Binary file OPPL/inference_lib/HermiT.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/antlr-runtime-3.2.jar
b
Binary file OPPL/inference_lib/antlr-runtime-3.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/aterm-java-1.6.jar
b
Binary file OPPL/inference_lib/aterm-java-1.6.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/commons-logging-1.1.1.jar
b
Binary file OPPL/inference_lib/commons-logging-1.1.1.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/jgrapht-jdk1.5.jar
b
Binary file OPPL/inference_lib/jgrapht-jdk1.5.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/junit-4.8.2.jar
b
Binary file OPPL/inference_lib/junit-4.8.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/junit.jar
b
Binary file OPPL/inference_lib/junit.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/log4j-1.2.15.jar
b
Binary file OPPL/inference_lib/log4j-1.2.15.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/oboformat.jar
b
Binary file OPPL/inference_lib/oboformat.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/org.coode.oppl-API.jar
b
Binary file OPPL/inference_lib/org.coode.oppl-API.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/owlapi-bin.jar
b
Binary file OPPL/inference_lib/owlapi-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/owlapi-bin_2.jar
b
Binary file OPPL/inference_lib/owlapi-bin_2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/owllink-bin.jar
b
Binary file OPPL/inference_lib/owllink-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/parsers.jar
b
Binary file OPPL/inference_lib/parsers.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-core.jar
b
Binary file OPPL/inference_lib/pellet-core.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-datatypes.jar
b
Binary file OPPL/inference_lib/pellet-datatypes.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-el.jar
b
Binary file OPPL/inference_lib/pellet-el.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-owlapiv3.jar
b
Binary file OPPL/inference_lib/pellet-owlapiv3.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-query.jar
b
Binary file OPPL/inference_lib/pellet-query.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/inference_lib/pellet-rules.jar
b
Binary file OPPL/inference_lib/pellet-rules.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl.sh
--- a/OPPL/oppl.sh Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar oppl_galaxy_tool.jar test.owl test.oppl > test_new.owl
-
-
-
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl.xml
--- a/OPPL/oppl.xml Thu Jan 12 10:20:00 2012 +0100
+++ b/OPPL/oppl.xml Fri Mar 09 16:15:27 2012 +0100
b
b'@@ -1,92 +1,57 @@\n-\xef\xbb\xbf<tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.7">\n+\xef\xbb\xbf<tool id="oppl" name="Execute an OPPL file against an ontology" version="1.0.8">\n \t<description>It executes an OPPL script against the input ontology and generates a new ontology with the changes described in the OPPL script</description>\n \n \t<!-- Galaxy is not happy with OPPL throwing info into stderr, and I have redirected stderr to /dev/null, which is a bad solution since OPPL galaxy does not inform properly when it fails -->\n \t<!-- More info on the stderr issue: http://wiki.g2.bx.psu.edu/Future/Job%20Failure%20When%20stderr -->\n+\t<!-- Testing with wrapper.sh but no success so far -->\n \t\n-\n-\t<!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that\'s too much for your machine simply delete or modify at will -->\n-\n-\t<!--<command>\n-\t\t#if $import_opts.imports_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null\n-\t\t#else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null\n-\t\t#end if\n-\t</command>-->\n+\t\n \t\n+\t<!-- DEFAULT SETTINGS -->\n+\t\n+\t<!-- For big ontologies I use -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 If that\'s too much for your machine simply delete or modify at will, but since Galaxy is usually used in a server setting it makes sense to use a big chunk of memory -->\n \n \t<command>\n-\t\t#if $import_opts.imports_select==False #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null\n-\t\t#else #java -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $import_opts.imports $reasoner $import_opts.merge_opts.merged > $output 2>/dev/null\n-\t\t#end if\n+\t\tjava -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy.jar $input $reasoner $OPPL $format > $output 2>/dev/null\n \t</command>\n \t\n \t\n-\t<!-- If you are planning to use FaCT++ you have to uncomment bellow (And comment the one above) and replace the -Djava.library.path with the appropiate JNI library path for your platform:FaCT++-linux-v1.5.2/64bit, FaCT++-linux-v1.5.2/32bit, FaCT++-OSX-v1.5.2/64bit, ...... -->\n+\t\n+\t<!-- FACT++ -->\n+\t\n+\t<!-- If you are planning to use FaCT++ you have to uncomment bellow (And comment the default settings above) and replace the -Djava.library.path with the appropiate JNI library path for your platform:FaCT++-linux-v1.5.2/64bit, FaCT++-linux-v1.5.2/32bit, FaCT++-OSX-v1.5.2/64bit, ...... -->\n \t<!-- Using this setting doesn\'t upset the rest of the reasoners so you may as well leave it on if you plan to switch between FaCT++, Pellet and HermiT -->\n \t\n \t<!--<command>\n-\t\t#if $import_opts.imports_select==False #java -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred NoImports $reasoner NoMerge > $output 2>/dev/null\n-\t\t#else #java -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy_tool.jar $input $OPPL $format $inferred $imports $reasoner $merged > $output 2>/dev/null\n-\t\t#end if\n-\t</command>-->\n+\t\tjava -Djava.library.path=${__tool_data_path__}/shared/jars/FaCT++-linux-v1.5.2/64bit -Xmx7000M -Xms250M -DentityExpansionLimit=1000000000 -jar ${__tool_data_path__}/shared/jars/oppl_galaxy.jar $input $reasoner $OPPL $format > $output 2>/de'..b'bel="Type an URI or use the default URI" />  \n-\t\t\t\t    </when>\n-\t\t\t\t</conditional>  \n-            \t\t</when>\n-\t\t</conditional>\n+\t\t<param name="reasoner" type="select" label="Choose reasoner">\n+\t\t\t<option value="Pellet" selected="true">Pellet</option>\n+\t\t\t<option value="HermiT">HermiT</option>\n+\t\t\t<option value="FaCTPlusPlus">FaCT++</option>\n+\t\t</param>\n \t\t<param format="text" name="OPPL" type="data" label="OPPL file"/>\n \t\t<param name="format" type="select" label="Choose ontology output format">\n \t\t\t<option value="OWL" selected="true">OWL</option>\n \t\t\t<option value="OBO">OBO</option>\n \t\t</param>\n-\t\t<param name="inferred" type="boolean" value="False" truevalue="AddInferred" falsevalue="Gora_ni" label="Add inferred subsumption axioms to output ontology"/>\n-<!-- \t\t<param name="merged" type="text" size="100" value="NoMerge" label="To merge ontologies (If there are imports), type an URI for the new ontology (Leave NoMerge for not merging)" /> -->\n-\t\t<param name="reasoner" type="select" label="Choose reasoner">\n-\t\t\t<option value="Pellet" selected="true">Pellet</option>\n-\t\t\t<option value="HermiT">HermiT</option>\n-\t\t\t<option value="FaCTPlusPlus">FaCT++</option>\n-\t\t</param>\n-\n \t</inputs>\n \t<outputs>\n \t\t<data format="text" name="output" />\n@@ -95,11 +60,8 @@\n \t\t<test>\n \t\t\t<param name="input" value="test.owl"/>\n \t\t\t<param name="OPPL" value="test.oppl"/>\n-\t\t\t<param name="imports" value="NoImports"/>\n \t\t\t<param name="format" value="OWL"/>\n-\t\t\t<param name="inferred" value="False"/>\n \t\t\t<param name="reasoner" value="Pellet"/>\n-\t\t\t<param name="merged" value="no_merge"/>\n \t\t\t<output name="out_file" file="test_new.owl"/>\t\n \t\t</test>\n \t</tests>\n@@ -115,27 +77,33 @@\n \n **Usage**\n \n-  An ontology and an OPPL file are needed (test.owl and test.oppl can be used as samples, both available in the bundle). Load both with Get Data >> Upload File from your computer. \n+  An ontology and an OPPL file are needed (test.owl and test.oppl can be used as samples, both available in the bundle). Load both with Get Data >> Upload File from your computer, or redirect from another Galaxy tool.\n \n   Then execute the OPPL file against the OWL file with Ontology Pre Processor Language >> Execute an OPPL file against an OWL file. A new output ontology will be generated.\n \n-  In case the loaded ontology includes OWL imports, a file that maps the imported ontologies\' URIs to actual physical URIs is needed. The file (See the file test_URI_mappings provided in the bundle) follows the convention URI-tab-physical URI:\n-  \n-  http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_chebi_ontology\t/home/pik/UPM/OPPL_galaxy/oppl/OPPL/chebi.owl\n-\n-  http://purl.obolibrary.org/obo/UBERON_uberon\t/home/pik/UPM/OPPL_galaxy/oppl/OPPL/cell.owl\n+  In case the loaded ontology includes OWL imports, OPPL-Galaxy will try to resolve them. \n \n   The output ontology can be OBO or OWL (RDF/XML).\n- \n-  The inferred subsumption axioms can be added to the output ontology as asserted axioms. \n-\n+   \n   The reasoner can be Pellet, HermiT FaCT++. Sometimes, if an execution fails it can be fixed by using a different reasoner. \n \n-  If OWL imports are used, all the ontologies (Main one and imported ones) can be merged in a single ontology for the output.\n-\n **More information**\n \n+  Galaxy public instances with OPPL-Galaxy pre-installed:\n+  \n+  http://sele.inf.um.es:8080/\n+  \n+  http://linkeddata2.dia.fi.upm.es:8080\n+  \n+  OPPL-Galaxy Examples: \n+  \n   http://miuras.inf.um.es/OPPL-Galaxy/\n+  \n+  OPPL examples:\n+  \n+  http://oppl2.sourceforge.net/taggedexamples/\n+  \n+  Links of interest:\n \n   http://oppl.sf.net/\n \n@@ -151,7 +119,7 @@\n   \n **Citation**\n \n-  Mikel Ega\xc3\xb1a Aranguren, Jesualdo Tom\xc3\xa1s Fern\xc3\xa1ndez-Breis and Erick Antezana. OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL. SWAT4LS 2011 (To appear in ACM proceedings).\n+  Mikel Ega\xc3\xb1a Aranguren, Jesualdo Tom\xc3\xa1s Fern\xc3\xa1ndez-Breis and Erick Antezana. OPPL-Galaxy: Enhancing ontology exploitation in Galaxy with OPPL. SWAT4LS 2011.\n \n **Contact**\n \n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy.jar
b
Binary file OPPL/oppl_galaxy.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
b
Binary file OPPL/oppl_galaxy_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/HermiT.jar
b
Binary file OPPL/oppl_galaxy_lib/HermiT.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/antlr-runtime-3.2.jar
b
Binary file OPPL/oppl_galaxy_lib/antlr-runtime-3.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/aterm-java-1.6.jar
b
Binary file OPPL/oppl_galaxy_lib/aterm-java-1.6.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/commons-logging-1.1.1.jar
b
Binary file OPPL/oppl_galaxy_lib/commons-logging-1.1.1.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/jgrapht-jdk1.5.jar
b
Binary file OPPL/oppl_galaxy_lib/jgrapht-jdk1.5.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/junit-4.8.2.jar
b
Binary file OPPL/oppl_galaxy_lib/junit-4.8.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/junit.jar
b
Binary file OPPL/oppl_galaxy_lib/junit.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/log4j-1.2.15.jar
b
Binary file OPPL/oppl_galaxy_lib/log4j-1.2.15.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/oboformat.jar
b
Binary file OPPL/oppl_galaxy_lib/oboformat.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/org.coode.oppl-API.jar
b
Binary file OPPL/oppl_galaxy_lib/org.coode.oppl-API.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/owlapi-bin.jar
b
Binary file OPPL/oppl_galaxy_lib/owlapi-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/owlapi-bin_2.jar
b
Binary file OPPL/oppl_galaxy_lib/owlapi-bin_2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/owllink-bin.jar
b
Binary file OPPL/oppl_galaxy_lib/owllink-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/parsers.jar
b
Binary file OPPL/oppl_galaxy_lib/parsers.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-core.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-core.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-datatypes.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-datatypes.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-el.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-el.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-owlapiv3.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-owlapiv3.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-query.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-query.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_lib/pellet-rules.jar
b
Binary file OPPL/oppl_galaxy_lib/pellet-rules.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool.jar
b
Binary file OPPL/oppl_galaxy_tool.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/FaCTpp-OWLAPI-3.2-v1.5.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/HermiT.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/HermiT.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/antlr-runtime-3.2.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/antlr-runtime-3.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/aterm-java-1.6.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/aterm-java-1.6.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/commons-logging-1.1.1.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/commons-logging-1.1.1.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/jgrapht-jdk1.5.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/jgrapht-jdk1.5.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/junit-4.8.2.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/junit-4.8.2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/junit.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/junit.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/log4j-1.2.15.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/log4j-1.2.15.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/oboformat.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/oboformat.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/org.coode.oppl-API.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/org.coode.oppl-API.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/owlapi-bin.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/owlapi-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/owlapi-bin_2.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/owlapi-bin_2.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/owllink-bin.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/owllink-bin.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/parsers.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/parsers.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-core.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-core.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-datatypes.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-datatypes.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-el.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-el.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-owlapiv3.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-owlapiv3.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-query.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-query.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/oppl_galaxy_tool_lib/pellet-rules.jar
b
Binary file OPPL/oppl_galaxy_tool_lib/pellet-rules.jar has changed
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/src/GalaxyOWLAPI.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/src/GalaxyOWLAPI.java Fri Mar 09 16:15:27 2012 +0100
[
b'@@ -0,0 +1,265 @@\n+/**\n+ * \n+ */\n+package es.upm.fi.dia.oeg.oppl.galaxy;\n+\n+import java.io.BufferedWriter;\n+import java.io.File;\n+import java.io.IOException;\n+import java.io.OutputStreamWriter;\n+import java.util.ArrayList;\n+import java.util.List;\n+import java.util.Scanner;\n+\n+import org.coode.owlapi.obo.parser.OBOOntologyFormat;\n+import org.semanticweb.HermiT.Reasoner;\n+import org.semanticweb.owlapi.apibinding.OWLManager;\n+import org.semanticweb.owlapi.io.RDFXMLOntologyFormat;\n+import org.semanticweb.owlapi.io.SystemOutDocumentTarget;\n+import org.semanticweb.owlapi.model.AddAxiom;\n+import org.semanticweb.owlapi.model.IRI;\n+import org.semanticweb.owlapi.model.OWLAnnotation;\n+import org.semanticweb.owlapi.model.OWLAnnotationProperty;\n+import org.semanticweb.owlapi.model.OWLAxiom;\n+import org.semanticweb.owlapi.model.OWLClass;\n+import org.semanticweb.owlapi.model.OWLDataFactory;\n+import org.semanticweb.owlapi.model.OWLLiteral;\n+import org.semanticweb.owlapi.model.OWLOntology;\n+import org.semanticweb.owlapi.model.OWLOntologyChange;\n+import org.semanticweb.owlapi.model.OWLOntologyCreationException;\n+import org.semanticweb.owlapi.model.OWLOntologyManager;\n+import org.semanticweb.owlapi.model.OWLOntologyStorageException;\n+import org.semanticweb.owlapi.reasoner.InferenceType;\n+import org.semanticweb.owlapi.reasoner.OWLReasoner;\n+import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;\n+import org.semanticweb.owlapi.util.InferredAxiomGenerator;\n+import org.semanticweb.owlapi.util.InferredClassAssertionAxiomGenerator;\n+import org.semanticweb.owlapi.util.InferredDisjointClassesAxiomGenerator;\n+import org.semanticweb.owlapi.util.InferredOntologyGenerator;\n+import org.semanticweb.owlapi.util.InferredSubClassAxiomGenerator;\n+import org.semanticweb.owlapi.util.InferredSubDataPropertyAxiomGenerator;\n+import org.semanticweb.owlapi.util.InferredSubObjectPropertyAxiomGenerator;\n+import org.semanticweb.owlapi.util.OWLEntityRenamer;\n+import org.semanticweb.owlapi.util.OWLOntologyMerger;\n+import org.semanticweb.owlapi.vocab.OWL2Datatype;\n+import org.semanticweb.owlapi.vocab.OWLRDFVocabulary;\n+\n+import uk.ac.manchester.cs.factplusplus.owlapiv3.FaCTPlusPlusReasonerFactory;\n+\n+import com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory;\n+\n+/**\n+ * A wrapper of the OWL API \n+ * \n+ * @author Mikel Ega\xc3\xb1a Aranguren\n+ */\n+public class GalaxyOWLAPI {\n+\tprivate OWLOntologyManager manager;\n+\tprivate OWLOntology ontology;\n+\tprivate OWLReasonerFactory reasonerFactory;\n+\tprivate OWLReasoner reasoner;\n+\t\n+\tpublic GalaxyOWLAPI (){\n+\t\tmanager = OWLManager.createOWLOntologyManager();\n+\t}\n+\tpublic OWLOntologyManager getOWLManager(){\n+\t\treturn manager;\n+\t}\n+\tpublic OWLOntology getMainOntology(){\n+\t\treturn ontology;\n+\t}\n+\tpublic OWLReasoner getReasoner(){\n+\t\treturn reasoner;\n+\t}\n+\t\n+\tpublic void loadMainOntology(String OWLFilePath) throws OWLOntologyCreationException{\n+\t\tFile owl_file = new File(OWLFilePath);\n+\t\tontology = manager.loadOntologyFromOntologyDocument(owl_file);\n+\t}\n+\t\n+//\tpublic void loadImportedOntology(IRI importedOntologyIRI) throws OWLOntologyCreationException{\n+//\t\tmanager.loadOntologyFromOntologyDocument(importedOntologyIRI);\n+//\t}\n+\t\n+\t// OWLLink: The problem is that Racer, for example, listens in 8080, the same port as Galaxy\n+\t// I have to change Racer settings and OWLLink settings\n+//\t\tOWLlinkHTTPXMLReasonerFactory factory = new OWLlinkHTTPXMLReasonerFactory();\n+//\t\treasoner = factory.createReasoner(OWL_ontology);\n+\t\n+\tpublic void setReasonerPellet (){\n+\t\treasonerFactory = new PelletReasonerFactory(); \n+\t\treasoner = reasonerFactory.createReasoner(ontology);\n+\t}\n+\tpublic void setReasonerFaCT (){\n+\t\treasonerFactory = new FaCTPlusPlusReasonerFactory();\n+\t\treasoner = reasonerFactory.createReasoner(ontology);\n+\t}\n+\tpublic void setReasonerHermit (){\n+\t\treasonerFactory = new Reasoner.ReasonerFactory();\n+\t\treasoner = reasonerFactory.createReasoner(ontology);\n+\t}\n+\tpublic void merge () throws OWLOntologyCreationException{\n+\t\tOWLOntologyMerger merger '..b'/\t\tiog.fillOntology(manager, ontology);\n+//\t}\n+\t\n+\t//\tOBJECT_PROPERTY_HIERARCHY Denotes the computation of the object property hierarchy.\n+\t\n+\tpublic void addOBJECT_PROPERTY_HIERARCHY(){\n+\t\treasoner.precomputeInferences(InferenceType.OBJECT_PROPERTY_HIERARCHY);\n+\t\tList<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<InferredAxiomGenerator<? extends OWLAxiom>>();\n+\t\tgens.add(new InferredSubObjectPropertyAxiomGenerator());\n+\t\tInferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner, gens);\n+\t\tiog.fillOntology(manager, ontology);\n+\t}\n+\t\n+\t//\tSAME_INDIVIDUAL Denotes the computation of individuals that are interpreted as the same object for each individual in the imports closure of the root ontology.\n+\t\n+//\tpublic void addSAME_INDIVIDUAL(){\n+//\t\treasoner.precomputeInferences(InferenceType.SAME_INDIVIDUAL);\n+//\t\tList<InferredAxiomGenerator<? extends OWLAxiom>> gens = new ArrayList<InferredAxiomGenerator<? extends OWLAxiom>>();\n+//\t\tgens.add(new Infer);\n+//\t\tInferredOntologyGenerator iog = new InferredOntologyGenerator(reasoner, gens);\n+//\t\tiog.fillOntology(manager, ontology);\n+//\t}\n+\t\n+\tpublic void saveOntology (boolean OWL) throws OWLOntologyStorageException, IOException, OWLOntologyCreationException{\n+\t\t// OWL format\n+\t\tif(OWL){\n+\t\t\tmanager.saveOntology(ontology, new RDFXMLOntologyFormat(), new SystemOutDocumentTarget());\n+\t\t}\n+\t\t// OBO format\n+\t\telse{\n+\t\t\t// OWL API generates bad OBO but OBOformat doesn\'t work either so I correct the OWL API problems (More predictable) in a temporary file\n+\t\t\t// Very inefficient but no time for another solution\n+\t\t\t\t\t\t\n+\t\t\tOWLDataFactory factory = manager.getOWLDataFactory();\n+\t\t\tOWLEntityRenamer renamer = new OWLEntityRenamer (manager, manager.getOntologies());\n+\t\t\tOWLAnnotationProperty label = factory.getOWLAnnotationProperty(OWLRDFVocabulary.RDFS_LABEL.getIRI());\n+\t\t\tfor(OWLClass cls : ontology.getClassesInSignature()){\n+\t\t\t// Remove annotations (OWL API generates bad OBO annotations)\n+\t\t\t\t\t\t\t\n+\t\t\t// Keep rdfs:label\n+\t\t\tString class_name = null;\n+\t\t\tfor (OWLAnnotation annotation : cls.getAnnotations(ontology, label)){\n+\t\t\t\tif (annotation.getValue() instanceof OWLLiteral) {\n+\t\t\t\t\tOWLLiteral val = (OWLLiteral) annotation.getValue();\n+\t\t\t\t\tclass_name = val.getLiteral();\n+\t\t\t\t}\n+\t\t\t}\n+\t\t\t\t\t\t\t\t\t\t\n+//\t\t\tI have to remove all the annotations cause I don\'t know which ones are rendered properly\n+\t\t\tmanager.removeAxioms(ontology,ontology.getAnnotationAssertionAxioms(cls.getIRI()));\n+\t\t\t\t\t\t\t\n+\t\t\t// Add rdfs:label again\n+\t\t\tOWLAnnotation labelAnno = factory.getOWLAnnotation(factory.getOWLAnnotationProperty(\n+\t\t\tOWLRDFVocabulary.RDFS_LABEL.getIRI()),factory.getOWLLiteral(class_name,OWL2Datatype.XSD_STRING));\n+\t\t\tOWLAxiom ax = factory.getOWLAnnotationAssertionAxiom(cls.getIRI(), labelAnno);\n+\t\t\tmanager.applyChange(new AddAxiom(ontology, ax));\n+\t\t\t\t\t\t\t\n+\t\t\t// Rename entities\n+\t\t\tString cls_IRI = cls.getIRI().toString();\n+\t\t\tString cls_proper_IRI = cls_IRI.replace("_", ":");\n+\t\t\tList<OWLOntologyChange> changes = renamer.changeIRI(cls, IRI.create(cls_proper_IRI));\n+\t\t\tmanager.applyChanges(changes);\n+\t\t\t}\n+\t\t\t\t\t\t\n+\t\t\tFile file = new File("tmp.obo");\n+\t\t\tmanager.saveOntology(ontology, new OBOOntologyFormat(), IRI.create(file.toURI()));\n+\t\t\tBufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));\t\t\n+\t\t\tScanner input = new Scanner(file);\n+\t\t\tString buffer = "";\n+\n+\t\t\twhile(input.hasNext()){\n+\t\t\t\tString nextLine = input.nextLine();\n+\t\t\t\tif(nextLine.contains("[Term]") || nextLine.contains("[Typedef]")){\n+\t\t\t\t\tif(buffer.isEmpty()){\n+\t\t\t\t\t\tbw.write(buffer);\n+\t\t\t\t\t\tbw.newLine();\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t\tif(!nextLine.contains("is_a: Thing") && !nextLine.contains("auto-generated-by:") && !nextLine.contains("id_space:") && !nextLine.contains("! ----")){\n+\t\t\t\t\tif(!nextLine.isEmpty() && !buffer.contains("relationship:")){\n+\t\t\t\t\t\tbw.write(nextLine);\n+\t\t\t\t\t\tbw.newLine();\n+\t\t\t\t\t}\n+\t\t\t\t}\n+\t\t\t\tbuffer = nextLine;\n+\t\t\t}\n+\t\t\tinput.close();\n+\t\t\tbw.close();\n+\t\t\tfile.delete();\n+\t\t}\n+\t}\t\n+}\n'
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/src/InferenceGalaxy.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/src/InferenceGalaxy.java Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,105 @@
+/**
+ * 
+ */
+package es.upm.fi.dia.oeg.oppl.galaxy;
+
+
+import java.io.IOException;
+
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+
+
+/**
+ * @author Mikel Egaña Aranguren
+ *
+ */
+public class InferenceGalaxy {
+
+ /**
+  * @param args
+  * @throws IOException 
+  * @throws OWLOntologyCreationException 
+  * @throws OWLOntologyStorageException 
+  */
+ public static void main(String[] args) throws OWLOntologyStorageException, OWLOntologyCreationException, IOException {
+ // Get the arguments from command-line
+ String OWLFilePath = args [0];
+ String reasoner_type = args [1]; // Pellet|FaCTPlusPlus|HermiT
+ String axioms_to_inject = args [2]; // CLASS_ASSERTIONS,CLASS_HIERARCHY,DATA_PROPERTY_ASSERTIONS 
+
+// CLASS_ASSERTIONS Denotes the computation of the direct types of individuals for each individual in the signature of the imports closure of the root ontology.
+// CLASS_HIERARCHY Denotes the computation of the class hierarchy.
+// DATA_PROPERTY_ASSERTIONS Denotes the computation of relationships between individuals and data property values for each individual in the signature of the imports closure of the root ontology.
+// DATA_PROPERTY_HIERARCHY Denotes the computation of the data property hierarchy.
+// DIFFERENT_INDIVIDUALS Denotes the computation of sets of individuals that are different from each individual in the signature of the imports closure of the root ontology.
+// DISJOINT_CLASSES Denotes the computation of sets of classes that are disjoint for each class in the signature of the imports closure of the root ontology.
+// OBJECT_PROPERTY_ASSERTIONS Denotes the computation of relationships between individuals in the signature of the imports closure of the root ontology.
+// OBJECT_PROPERTY_HIERARCHY Denotes the computation of the object property hierarchy.
+// SAME_INDIVIDUAL Denotes the computation of individuals that are interpreted as the same object for each individual in the imports closure of the root ontology.
+
+ // Create the manager
+ GalaxyOWLAPI galaxyowlapi = new GalaxyOWLAPI();
+
+ // Load the main ontology
+ galaxyowlapi.loadMainOntology(OWLFilePath);
+
+ // Set the reasoner
+
+ // Pellet
+ if(reasoner_type.equals("Pellet")){
+ galaxyowlapi.setReasonerPellet();
+ }
+ // FaCTPlusPlus
+ else if (reasoner_type.equals("FaCTPlusPlus")){
+ galaxyowlapi.setReasonerFaCT();
+ }
+ // HermiT
+ else{
+ galaxyowlapi.setReasonerHermit();
+ }
+
+ // Add the inferred axioms as asserted axioms to the original ontology
+
+ if(axioms_to_inject.contains(",")){
+ String[] axioms = axioms_to_inject.split(",");
+ for(int i =0; i < axioms.length ; i++)
+ injectAxiom (axioms[i], galaxyowlapi);
+ }
+ else{
+ injectAxiom (axioms_to_inject, galaxyowlapi);
+ }
+
+ // Merge imported ontologies if requested
+// if(merge.equals("Merge")){
+// galaxyowlapi.merge();
+// }
+
+ // Save the ontology in OWL
+ galaxyowlapi.saveOntology(true);
+
+ }
+
+ static void injectAxiom (String axiom_to_inject, GalaxyOWLAPI galaxyowlapi){
+ if(axiom_to_inject.equals("CLASS_HIERARCHY")){
+ galaxyowlapi.addCLASS_HIERARCHY();
+// System.out.println("CLASS_HIERARCHY");
+ }
+ if(axiom_to_inject.equals("CLASS_ASSERTIONS")){
+ galaxyowlapi.addCLASS_ASSERTIONS();
+// System.out.println("CLASS_ASSERTIONS");
+ }
+ if(axiom_to_inject.equals("DATA_PROPERTY_HIERARCHY")){
+ galaxyowlapi.addDATA_PROPERTY_HIERARCHY();
+// System.out.println("DATA_PROPERTY_HIERARCHY");
+ }
+ if(axiom_to_inject.equals("DISJOINT_CLASSES")){
+ galaxyowlapi.addDISJOINT_CLASSES();
+// System.out.println("DISJOINT_CLASSES");
+ }
+ if(axiom_to_inject.equals("OBJECT_PROPERTY_HIERARCHY")){
+ galaxyowlapi.addOBJECT_PROPERTY_HIERARCHY();
+// System.out.println("OBJECT_PROPERTY_HIERARCHY");
+ }
+ }
+}
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/src/OPPLGalaxy.java
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/src/OPPLGalaxy.java Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,108 @@
+/**
+ * 
+ */
+package es.upm.fi.dia.oeg.oppl.galaxy;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.Scanner;
+import java.util.logging.Logger;
+
+import org.coode.oppl.ChangeExtractor;
+import org.coode.oppl.OPPLParser;
+import org.coode.oppl.OPPLScript;
+import org.coode.oppl.ParserFactory;
+import org.coode.oppl.exceptions.QuickFailRuntimeExceptionHandler;
+import org.coode.parsers.ErrorListener;
+import org.coode.parsers.LoggerErrorListener;
+import org.semanticweb.owlapi.model.OWLAxiomChange;
+import org.semanticweb.owlapi.model.OWLOntology;
+import org.semanticweb.owlapi.model.OWLOntologyCreationException;
+import org.semanticweb.owlapi.model.OWLOntologyManager;
+import org.semanticweb.owlapi.model.OWLOntologyStorageException;
+import org.semanticweb.owlapi.reasoner.OWLReasoner;
+
+
+/**
+ * @author Mikel Egaña Aranguren
+ *
+ */
+public class OPPLGalaxy {
+
+ /**
+  * @param args
+  * @throws OWLOntologyCreationException 
+  * @throws OWLOntologyStorageException 
+  * @throws IOException 
+  */
+ public static void main(String[] args) throws OWLOntologyCreationException, OWLOntologyStorageException, IOException {
+ // Get the arguments from command-line
+ String OWLFilePath = args [0];
+ String reasoner_type = args [1]; // Pellet|FaCTPlusPlus|HermiT
+
+ String OPPL_script_file = args [2];
+ String OWL = args [3]; // OWL|OBO
+
+ // Create the manager
+ GalaxyOWLAPI galaxyowlapi = new GalaxyOWLAPI();
+
+ // Load the main ontology and hope for the imported URIs to be resolvable
+ galaxyowlapi.loadMainOntology(OWLFilePath);
+
+ // Set the reasoner
+
+ // Pellet
+ if(reasoner_type.equals("Pellet")){
+ galaxyowlapi.setReasonerPellet();
+ }
+ // FaCTPlusPlus
+ else if (reasoner_type.equals("FaCTPlusPlus")){
+ galaxyowlapi.setReasonerFaCT();
+ }
+ // HermiT
+ else{
+ galaxyowlapi.setReasonerHermit();
+ }
+
+ // Load the OPPL flat file with script in memory
+ String OPPL_script_source = "";
+ File file = new File(OPPL_script_file);
+ Scanner input = new Scanner(file);
+ while(input.hasNext()) {
+     String nextToken = input.next();
+     OPPL_script_source = OPPL_script_source + " " + nextToken;
+ }
+ input.close();
+
+ OWLOntologyManager manager = galaxyowlapi.getOWLManager();
+ OWLOntology ontology = galaxyowlapi.getMainOntology();
+ OWLReasoner reasoner = galaxyowlapi.getReasoner();
+
+ // Parse the OPPL script
+ ParserFactory parserFactory = new ParserFactory(manager, ontology, reasoner); 
+ Logger logger = Logger.getLogger(Tool.class.getName());
+// Logging.getQueryLogger().setLevel(Level.OFF); // The normal messages are errors for galaxy (Fixed in Galaxy by 2 > /dev/null)
+ ErrorListener errorListener = (ErrorListener)new LoggerErrorListener(logger);
+ OPPLParser opplparser = parserFactory.build(errorListener);
+ OPPLScript OPPLscript = opplparser.parse(OPPL_script_source);
+
+ // Execute the script
+ ChangeExtractor extractor = new ChangeExtractor(new QuickFailRuntimeExceptionHandler(), true);
+ List<OWLAxiomChange> changes = extractor.visit(OPPLscript);
+ manager.applyChanges(changes);
+
+ // Merge imported ontologies if requested
+// if(merge.equals("Merge")){
+// galaxyowlapi.merge();
+// }
+
+ // Save the ontology
+ if(OWL.equals("OWL")){
+ galaxyowlapi.saveOntology(true);
+ }
+ else{
+ galaxyowlapi.saveOntology(false);
+ }
+ }
+}
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test-data/ontology/imports/imports_inference_test.owl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/test-data/ontology/imports/imports_inference_test.owl Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,196 @@
+<?xml version="1.0"?>
+
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
+    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
+    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
+    <!ENTITY inference_test "http://www.oeg-upm.net/inference_test.owl/" >
+    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+    <!ENTITY biopax-level3 "http://www.biopax.org/release/biopax-level3.owl#" >
+]>
+
+
+<rdf:RDF xmlns="http://www.oeg-upm.net/inference_test.owl#"
+     xml:base="http://www.oeg-upm.net/inference_test.owl"
+     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+     xmlns:owl="http://www.w3.org/2002/07/owl#"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:biopax-level3="http://www.biopax.org/release/biopax-level3.owl#"
+     xmlns:inference_test="http://www.oeg-upm.net/inference_test.owl/">
+    <owl:Ontology rdf:about="http://www.oeg-upm.net/inference_test.owl">
+        <owl:imports rdf:resource="http://www.biopax.org/release/biopax-level3.owl"/>
+    </owl:Ontology>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Annotation properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Datatypes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Object Properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/p -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;p"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/q -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;q"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Classes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/a -->
+
+    <owl:Class rdf:about="&inference_test;a">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/b -->
+
+    <owl:Class rdf:about="&inference_test;b"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/c -->
+
+    <owl:Class rdf:about="&inference_test;c">
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/d -->
+
+    <owl:Class rdf:about="&inference_test;d">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&biopax-level3;Entity"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/e -->
+
+    <owl:Class rdf:about="&inference_test;e">
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&biopax-level3;Entity"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.w3.org/2002/07/owl#Thing -->
+
+    <rdf:Description rdf:about="&owl;Thing">
+        <rdfs:comment>Expected inferences: 
+
+aa memberOf a
+
+c subClassOf a
+
+(imports)
+
+d subClassOf e</rdfs:comment>
+    </rdf:Description>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Individuals
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/aa -->
+
+    <owl:Thing rdf:about="&inference_test;aa">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+        <inference_test:p rdf:resource="&inference_test;bb"/>
+    </owl:Thing>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/bb -->
+
+    <owl:NamedIndividual rdf:about="&inference_test;bb">
+        <rdf:type rdf:resource="&inference_test;b"/>
+    </owl:NamedIndividual>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/cc -->
+
+    <owl:Thing rdf:about="&inference_test;cc">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+    </owl:Thing>
+</rdf:RDF>
+
+
+
+<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->
+
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test-data/ontology/imports/imports_test.owl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/test-data/ontology/imports/imports_test.owl Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,208 @@
+<?xml version="1.0"?>
+
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
+    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
+    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
+    <!ENTITY inference_test "http://www.oeg-upm.net/inference_test.owl/" >
+    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+    <!ENTITY biopax-level3 "http://www.biopax.org/release/biopax-level3.owl#" >
+]>
+
+
+<rdf:RDF xmlns="http://www.oeg-upm.net/inference_test.owl#"
+     xml:base="http://www.oeg-upm.net/inference_test.owl"
+     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+     xmlns:owl="http://www.w3.org/2002/07/owl#"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:biopax-level3="http://www.biopax.org/release/biopax-level3.owl#"
+     xmlns:inference_test="http://www.oeg-upm.net/inference_test.owl/">
+    <owl:Ontology rdf:about="http://www.oeg-upm.net/inference_test.owl">
+        <owl:imports rdf:resource="http://www.biopax.org/release/biopax-level3.owl"/>
+    </owl:Ontology>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Annotation properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Datatypes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Object Properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/p -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;p"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/part_of -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;part_of"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/q -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;q"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Classes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/a -->
+
+    <owl:Class rdf:about="&inference_test;a">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/b -->
+
+    <owl:Class rdf:about="&inference_test;b"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/c -->
+
+    <owl:Class rdf:about="&inference_test;c">
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/d -->
+
+    <owl:Class rdf:about="&inference_test;d">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&biopax-level3;Entity"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/e -->
+
+    <owl:Class rdf:about="&inference_test;e">
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;part_of"/>
+                <owl:someValuesFrom rdf:resource="&biopax-level3;Entity"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&biopax-level3;Entity"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.w3.org/2002/07/owl#Thing -->
+
+    <rdf:Description rdf:about="&owl;Thing">
+        <rdfs:comment>Expected inferences: 
+
+aa memberOf a
+
+c subClassOf a
+
+(imports)
+
+d subClassOf e</rdfs:comment>
+    </rdf:Description>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Individuals
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/aa -->
+
+    <owl:Thing rdf:about="&inference_test;aa">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+        <inference_test:p rdf:resource="&inference_test;bb"/>
+    </owl:Thing>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/bb -->
+
+    <owl:NamedIndividual rdf:about="&inference_test;bb">
+        <rdf:type rdf:resource="&inference_test;b"/>
+    </owl:NamedIndividual>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/cc -->
+
+    <owl:Thing rdf:about="&inference_test;cc">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+    </owl:Thing>
+</rdf:RDF>
+
+
+
+<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->
+
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test-data/ontology/single/inference_test.owl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/test-data/ontology/single/inference_test.owl Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,162 @@
+<?xml version="1.0"?>
+
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
+    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
+    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
+    <!ENTITY inference_test "http://www.oeg-upm.net/inference_test.owl/" >
+    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+]>
+
+
+<rdf:RDF xmlns="http://www.oeg-upm.net/inference_test.owl#"
+     xml:base="http://www.oeg-upm.net/inference_test.owl"
+     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+     xmlns:owl="http://www.w3.org/2002/07/owl#"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+     xmlns:inference_test="http://www.oeg-upm.net/inference_test.owl/">
+    <owl:Ontology rdf:about="http://www.oeg-upm.net/inference_test.owl"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Annotation properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Datatypes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Object Properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/p -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;p"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/q -->
+
+    <owl:ObjectProperty rdf:about="&inference_test;q"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Classes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/a -->
+
+    <owl:Class rdf:about="&inference_test;a">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+    </owl:Class>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/b -->
+
+    <owl:Class rdf:about="&inference_test;b"/>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/c -->
+
+    <owl:Class rdf:about="&inference_test;c">
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&inference_test;p"/>
+                <owl:someValuesFrom rdf:resource="&inference_test;b"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.w3.org/2002/07/owl#Thing -->
+
+    <rdf:Description rdf:about="&owl;Thing">
+        <rdfs:comment>Expected inferences: 
+
+aa memberOf a
+
+c subClassOf a</rdfs:comment>
+    </rdf:Description>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Individuals
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/aa -->
+
+    <owl:Thing rdf:about="&inference_test;aa">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+        <inference_test:p rdf:resource="&inference_test;bb"/>
+    </owl:Thing>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/bb -->
+
+    <owl:NamedIndividual rdf:about="&inference_test;bb">
+        <rdf:type rdf:resource="&inference_test;b"/>
+    </owl:NamedIndividual>
+    
+
+
+    <!-- http://www.oeg-upm.net/inference_test.owl/cc -->
+
+    <owl:Thing rdf:about="&inference_test;cc">
+        <rdf:type rdf:resource="&owl;NamedIndividual"/>
+    </owl:Thing>
+</rdf:RDF>
+
+
+
+<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->
+
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test-data/ontology/single/test.owl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/test-data/ontology/single/test.owl Fri Mar 09 16:15:27 2012 +0100
[
@@ -0,0 +1,130 @@
+<?xml version="1.0"?>
+
+
+<!DOCTYPE rdf:RDF [
+    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
+    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
+    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
+    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
+    <!ENTITY Ontology1314715036188 "http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/" >
+]>
+
+
+<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl#"
+     xml:base="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"
+     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
+     xmlns:Ontology1314715036188="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/"
+     xmlns:owl="http://www.w3.org/2002/07/owl#"
+     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
+     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+    <owl:Ontology rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Object Properties
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of -->
+
+    <owl:ObjectProperty rdf:about="&Ontology1314715036188;part_of"/>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/prop -->
+
+    <owl:ObjectProperty rdf:about="&Ontology1314715036188;prop"/>
+    
+
+
+    <!-- 
+    ///////////////////////////////////////////////////////////////////////////////////////
+    //
+    // Classes
+    //
+    ///////////////////////////////////////////////////////////////////////////////////////
+     -->
+
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/OPPL_test -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;OPPL_test"/>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/Taxonomy_test -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;Taxonomy_test"/>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/child_class -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;child_class">
+        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&Ontology1314715036188;prop"/>
+                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;filler"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/filler -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;filler">
+        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
+    </owl:Class>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/parent_class -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;parent_class">
+        <owl:equivalentClass>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&Ontology1314715036188;prop"/>
+                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;filler"/>
+            </owl:Restriction>
+        </owl:equivalentClass>
+        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
+    </owl:Class>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;part">
+        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;OPPL_test"/>
+        <rdfs:subClassOf>
+            <owl:Restriction>
+                <owl:onProperty rdf:resource="&Ontology1314715036188;part_of"/>
+                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;whole"/>
+            </owl:Restriction>
+        </rdfs:subClassOf>
+    </owl:Class>
+    
+
+
+    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole -->
+
+    <owl:Class rdf:about="&Ontology1314715036188;whole">
+        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;OPPL_test"/>
+    </owl:Class>
+</rdf:RDF>
+
+
+
+<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->
+
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test-data/oppl_script/test.oppl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/OPPL/test-data/oppl_script/test.oppl Fri Mar 09 16:15:27 2012 +0100
b
@@ -0,0 +1,8 @@
+?whole:CLASS,
+?part:CLASS
+SELECT
+?part SubClassOf part_of some ?whole WHERE ?part != Nothing
+BEGIN
+ADD ?part SubClassOf part_of only ?whole
+END;
+
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test.oppl
--- a/OPPL/test.oppl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,8 +0,0 @@
-?whole:CLASS,
-?part:CLASS
-SELECT
-?part SubClassOf part_of some ?whole WHERE ?part != Nothing
-BEGIN
-ADD ?part SubClassOf part_of only ?whole
-END;
-
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test.owl
--- a/OPPL/test.owl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
[
@@ -1,130 +0,0 @@
-<?xml version="1.0"?>
-
-
-<!DOCTYPE rdf:RDF [
-    <!ENTITY owl "http://www.w3.org/2002/07/owl#" >
-    <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#" >
-    <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema#" >
-    <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
-    <!ENTITY Ontology1314715036188 "http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/" >
-]>
-
-
-<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl#"
-     xml:base="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"
-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-     xmlns:Ontology1314715036188="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/"
-     xmlns:owl="http://www.w3.org/2002/07/owl#"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-    <owl:Ontology rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"/>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Object Properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of -->
-
-    <owl:ObjectProperty rdf:about="&Ontology1314715036188;part_of"/>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/prop -->
-
-    <owl:ObjectProperty rdf:about="&Ontology1314715036188;prop"/>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Classes
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/OPPL_test -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;OPPL_test"/>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/Taxonomy_test -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;Taxonomy_test"/>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/child_class -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;child_class">
-        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
-        <rdfs:subClassOf>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="&Ontology1314715036188;prop"/>
-                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;filler"/>
-            </owl:Restriction>
-        </rdfs:subClassOf>
-    </owl:Class>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/filler -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;filler">
-        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/parent_class -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;parent_class">
-        <owl:equivalentClass>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="&Ontology1314715036188;prop"/>
-                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;filler"/>
-            </owl:Restriction>
-        </owl:equivalentClass>
-        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;Taxonomy_test"/>
-    </owl:Class>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;part">
-        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;OPPL_test"/>
-        <rdfs:subClassOf>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="&Ontology1314715036188;part_of"/>
-                <owl:someValuesFrom rdf:resource="&Ontology1314715036188;whole"/>
-            </owl:Restriction>
-        </rdfs:subClassOf>
-    </owl:Class>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole -->
-
-    <owl:Class rdf:about="&Ontology1314715036188;whole">
-        <rdfs:subClassOf rdf:resource="&Ontology1314715036188;OPPL_test"/>
-    </owl:Class>
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 3.2.2.1782) http://owlapi.sourceforge.net -->
-
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test_URI_mappings
--- a/OPPL/test_URI_mappings Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,4 +0,0 @@
-http://purl.obolibrary.org/obo/CHEBI_ONTOLOGY_chebi_ontology /home/pik/UPM/OPPL_galaxy/oppl/OPPL/chebi.owl
-http://purl.obolibrary.org/obo/UBERON_uberon /home/pik/UPM/OPPL_galaxy/oppl/OPPL/cell.owl
-# Comments can be added with #
-
b
diff -r 3f31c0eb7539 -r 6ca67b155e32 OPPL/test_new.owl
--- a/OPPL/test_new.owl Thu Jan 12 10:20:00 2012 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
b
@@ -1,68 +0,0 @@
-<?xml version="1.0"?>
-<rdf:RDF xmlns="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl#"
-     xml:base="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"
-     xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
-     xmlns:Ontology1314715036188="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/"
-     xmlns:owl="http://www.w3.org/2002/07/owl#"
-     xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
-     xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
-    <owl:Ontology rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl"/>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Object Properties
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of -->
-
-    <owl:ObjectProperty rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of"/>
-    
-
-
-    <!-- 
-    ///////////////////////////////////////////////////////////////////////////////////////
-    //
-    // Classes
-    //
-    ///////////////////////////////////////////////////////////////////////////////////////
-     -->
-
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part -->
-
-    <owl:Class rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part">
-        <rdfs:subClassOf>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of"/>
-                <owl:someValuesFrom rdf:resource="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole"/>
-            </owl:Restriction>
-        </rdfs:subClassOf>
-        <rdfs:subClassOf>
-            <owl:Restriction>
-                <owl:onProperty rdf:resource="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/part_of"/>
-                <owl:allValuesFrom rdf:resource="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole"/>
-            </owl:Restriction>
-        </rdfs:subClassOf>
-    </owl:Class>
-    
-
-
-    <!-- http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole -->
-
-    <owl:Class rdf:about="http://www.semanticweb.org/ontologies/2011/7/Ontology1314715036188.owl/whole"/>
-</rdf:RDF>
-
-
-
-<!-- Generated by the OWL API (version 3.2.4.1806) http://owlapi.sourceforge.net -->
-