(defvar *obo-noise-classes* (list !obo:DbXref !obo:Definition !obo:ObsoleteClass !obo:Subset !obo:Synonym !obo:SynonymType)) (defmacro obo-standard-ont (abbrev) `'(:name ,abbrev :location ,(format nil "http://purl.org/obo/owl/~a" abbrev) :dont-show ,*obo-noise-classes* )) (defmacro an-ont (name location &rest keys) `'(:name ,name :location ,location ,@(mapcar 'eval keys))) (defparameter *standard-ontologies* (list (obo-standard-ont :pato) (obo-standard-ont :caro) (obo-standard-ont :obo_rel) (obo-standard-ont :mp) (obo-standard-ont :mesh) (obo-standard-ont :mi) (obo-standard-ont :BP_XP_CL) (an-ont :bfo "http://www.ifomis.org/bfo/1.0") (an-ont :biopax "http://biopax.org/release/biopax-level2.owl") (an-ont :birnlex "http://www.nbirn.net/birnlex/1.2/BIRNLex-Main.owl") (an-ont :obi "file:///Users/alanr/repos/obi/trunk/src/ontology/branches/obil.owl" :dont-show (list* !protegeowl:PAL-CONSTRAINT !protegeowl:DIRECTED-BINARY-RELATION *obo-noise-classes*) :root !bfo:Entity) (an-ont :obid "file:///Users/alanr/repos/obi/trunk/src/ontology/branches/obid.owl" :dont-show (list* !protegeowl:PAL-CONSTRAINT !protegeowl:DIRECTED-BINARY-RELATION *obo-noise-classes*) :root !bfo:Entity) (an-ont :obil "file:///Users/alanr/repos/obi/trunk/src/ontology/branches/obil.owl" :dont-show (list* !protegeowl:PAL-CONSTRAINT !protegeowl:DIRECTED-BINARY-RELATION *obo-noise-classes*) :root !bfo:Entity) (an-ont :obib "file:///Users/alanr/repos/obi/trunk/build/newids/obil.owl" :dont-show (list* !protegeowl:PAL-CONSTRAINT !protegeowl:DIRECTED-BINARY-RELATION *obo-noise-classes*) :root !bfo:Entity) (an-ont :birnorg "http://purl.org/nbirn/birnlex/ontology/BIRNLex-OrganismalTaxonomy.owl" :dont-show (list* !protegeowl:PAL-CONSTRAINT !protegeowl:DIRECTED-BINARY-RELATION *obo-noise-classes*)) (an-ont :annot "http://sw.neurocommons.org/2007/annotations.owl") (an-ont :aba "http://sw.neurocommons.org/2007/aba.owl") (an-ont :family "file:///Users/alanr/repos/pellet-1.4/test_data/misc/family.owl") (an-ont :owl11 "file:///Users/alanr/repos/pellet-1.4/test_data/misc/owl1.1.owl") (an-ont :swan "http://swan.mindinformatics.org/ontology/1.0/20070313/core.owl") (an-ont :biotop "http://biotop.googlecode.com/svn/trunk/biotop.owl") (an-ont :acgt "http://acgt.googlecode.com/svn/trunk/document.owl") (an-ont :bfo-ro "http://www.ifomis.uni-saarland.de/obo/ro/1.0/bfo/ro.owl") (an-ont :neurondb '("http://neuroweb.med.yale.edu/senselab/neuron_ontology.owl" "http://neuroweb.med.yale.edu/senselab/neuron_ontology-bfo-mapping.owl" ) :dont-show '(list !obo:ObsoleteClass !obo:Definition !obo:ObsoleteProperty)) (an-ont :annot1 "http://sw.neurocommons.org/2007/pubmed-annotations/00/7834200.rdf") (an-ont :brainpharm "http://neuroweb.med.yale.edu/senselab/brainpharm.owl") )) (defun uri-of-standard-ontology (keyword) (getf (find keyword *standard-ontologies* :key 'second) :location)) (defun standard-ontology-classtree-options (keyword) (cddddr (find keyword *standard-ontologies* :key 'second))) ; (let ((dont (getf (find keyword *standard-ontologies* :key 'second) :dont-show))) ; (and dont (list :dont-show dont)))) (defun whichonts () (let ((*print-case* :downcase)) (loop for spec in *standard-ontologies* do (format t "~s ~s~%" (getf spec :name) (getf spec :location)))))