bio-ontology-research-group / aberowl Goto Github PK
View Code? Open in Web Editor NEWOntology repository that provides Reasoning as as Service
Home Page: http://aber-owl.net
Ontology repository that provides Reasoning as as Service
Home Page: http://aber-owl.net
Example ontology is HP; retrieving http://aber-owl.net/service/api/getClass.groovy?type=equivalent&query=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FHP_0000360&ontology=HP results in only IDs being returned, no labels.
A related bug may be that retrieving http://aber-owl.net/ontology/HP?c=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FHP_0001963 will display only the ID in the treeview, not the label (although the label is returned correctly by AberOWL).
In queries using the Aber-OWL API, all annotation property values seem to be returned in lower case. Can this be fixed please?
The official AberOWL website is down.
It looks like the following query is returning only direct subclasses, despite 'direct': False. (The doc says this is default but I tried setting it anyway).
q = "'part of' some postsynapse"
p = requests.post(url = 'http://aber-owl.net/service/api/runQuery.groovy?',
data = json.dumps({ 'type': 'subclass', 'ontology': 'GO',
'query': q, 'labels': True, 'direct' : False}))
len(p.json()['result'])
=> 12
This is a pretty serious show-stopper
Please could API queries with errors return appropriate http codes / error messages. Some examples:
This returns 200 + results, as it should:
http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query=%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FBFO_0000050%3E%20SOME%20%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FGO_0006915%3E&ontology=GO
This returns 200 + results - but what are they, given the nonsense query type spec?
http://aber-owl.net/service/api/runQuery.groovy?type=asdfufoe&query=%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FBFO_0000050%3E%20SOME%20%3Chttp%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FGO_0006915%3E&ontology=GO
Should return 400 + an error indicating unsupported query type.
This returns 200 + empty results:
http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query=asfdgerb&ontology=GO
{"result":[],"time":1}
I think 200 is OK, but the JSON should include the OWL-API error message in an error field. it is important to be able to distinguish between a valid query with empty results and an invalid query. For an invalid query, it is important to be able to diagnose the problem (the OWL-API error message is good for that).
This returns an incomprehensible error message:
http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query=asfdgerb&ontology=asfh
java.lang.IllegalArgumentException: URI is not absolute
I think 200 would be OK, but it should return an error indicating that the ontology is unknown
CC @Robbie1977
elk-owlapi dependencies considered harmful
Just a suggestion.
I believe that it would be great if AberOWL could include the feature of downloading every ontology in differing formats.
Right now, we're only able to download the data in .ont format. Converting this schema to JSON, Turtle, RDF and N-triples would be an awesome feature to have!
When i ask for the equivalent classes to 'process' in SIO, i see equivalent results from SIO and BIOMO. would be good to group equivalent URIs together, so as to only show one result, or at least preferentially from the ontology i'm trying to query...
We'd like to be able to use Aber-OWL to run DL queries returning individuals. Any chance of getting this support?
e.g. This ontology is a merge of FB-BT (which you already have) plus a knowledge-base:
http://purl.obolibrary.org/obo/fbbt/vfb/fbbt_vfb_ind_pr_nr.owl
query example: overlaps some 'antennal lobe'
if you try to execute a query, then change to visualize, you get the query view not the visualize view . seems to require a reload to get back the visualize view.
I'd be really interested in examining the differences from one ontology version to another. you could use manchester's ECCO tool to provide this analysis
Here is my suggestion, as discussed with @MiguelAngelRG : http://pastebin.com/SAYYE25j
The ordered canonical array of submissions will store versions ofthe ontology with their data time/file in an object instead of being keyed by the time - thus we can use the array ID as the version ID elsewhere in AberOWL. Each version having its own object will also mean that we can easily extend versions with more info (release notes or names or w/e) in future.
This will require small changes in pretty much everywhere records are retrieved, would start with: https://github.com/bio-ontology-research-group/aberowl-obase as this is where the records are built, then it should just be a matter of selecting the canonical last in the ordered array instead of using the lastSubDate when retrieving the most recent ontology elsewhere. We will also need to write a conversion script, but I am happy to do this once the changes have been implemented
Trying to search aber-owl with 'protein', I don't see SIO in the ontology tab despite
http://aber-owl.net/ontology/SIO?c=http%3A%2F%2Fsemanticscience.org%2Fresource%2FSIO_010043
Ontologies like SIO have URIs in the metadata. could you generate hyperlinks for these?
might suggest to
i) dereference the URI to obtain an rdfs:label, dct:title, skos:prefLabel, etc and keep a local cache
ii) failing this, use the uri fragment (e.g. #protein) or string following the last forward slash (e.g. /protein)
When clicking on the 'Data' tab in any ontology overview (e.g. at http://aber-owl.net/ontology/OMIM) I get the alert:
DataTables warning: table id=data_results - Ajax error. For more information about this error, please see http://datatables.net/tn/7
In the Firebug console I see
NetworkError: 504 Gateway Timeout - http://aber-owl.net/openlifedata/QueryBio2RDF.groovy?query=&_=1455451605925
replace the fixed % width for the left frame with one that i can freely expand the width of, to accommodate classes / properties that have large labels, and to allow me to see the tree in one frame.
The backend should change to OWLAPI 4.X.
AberOWL should log the queries that are being run to a logfile. This logfile would be useful to help debug errors, and also provide a resource useful for reasoner evaluation and improvement of performance.
when using a concept permalink, the tree should open to the concept, and show both the siblings and children. currently, the tree opens, but the siblings are missing from the tree, and the children do not show.
see this for example:
http://aber-owl.net/ontology/RH-MESH#!http://phenomebrowser.net/ontologies/mesh/mesh.owl#D04.808
As mentioned here #38 (comment)
I'm interested in running a local AberOWL server with my own ontologies loaded. Looks like it should be straighforward enough to run from a checkout of the repo but have failed in my (brief) attempts to do this. Can you add some documentation on installation configuration and running?
in the download tab, order the version history from most newest to oldest.
http://aber-owl.net/ontology/FBBT is now stating unloadable, I'm unsure when this stopped working but seems to be the status on several other ontologies?
The latest FBBT ontology is always available via: http://purl.obolibrary.org/obo/fbbt/fbbt-simple.owl
Seems something like rdfs:description is missing from the indexing stage
Selecting the "superclass" radio button on the query tab seems to return the subclasses, not the superclasses.
to make announcements and have discussions
It would be better if the tree used the expansion icon where only those nodes can be expanded. nothing is more frustrating than clicking on that and not getting an expansion.
When an ontology is broken and the owner of an ontology is known, an email should be sent. Also, emails should be sent for unsatisfiable classes and inconsistent ontologies whenever they appear.
Would prevent bugs like #47
Somewhere, threads seem to be created and left in a blocked state; number of threads increases and at some point the JVM will crash. Last crash happened with 32k elk-reasoner threads in blocked state.
Currently, the Aber-OWL API uses Manchester OWL syntax with a custom shortform provider. For many applications, it would be better (or rather: more generic) to use the URI of a class or object property, and let the user-interface perform the mapping between a label, synonym, definition, etc. and the corresponding URI. Therefore, I think it would be good to add the option to use URIs in the Manchester OWL syntax to Aber-OWL.
Sometimes doing a search results in a large number of hits across different ontologies. it would be useful to implement a facet that summarizes the hits for each ontology, and enables use to restrict the results to that ontology. another option is to have a text search filter immediately above the ontology column, for which i can filter the ontology labels. the current filter across the entire table is useful, but not sufficiently specific.
Continuing for #18
full size was loaded as VFB
and a smaller version loaded as VFB_test
neither seem to ever load?
How are we supposed to diagnose OWL loading errors?
superclasses considered helpful
GO: date: 03:11:2015 11:44
GO-plus: date: 27:08:2015 08:12
Can they be kept up to date?
Also, please could you display the version IRI where this is recorded? This is a much more reliable way to track versions that the date field. (Version IRI from OBO (foundry) ontologies should be resolvable to the original file).
Cheers
Seems that http://purl.obolibrary.org/obo/fbbt/vfb/fbbt_vfb_ind_prc_nr.owl does no longer resolve, maybe we can ask @dosumis for advise.
I, perhaps naively, expected to be able to fire post requests at the API endpoint.
Using python requests - this works
g = requests.get('http://aber-owl.net/service/api/runQuery.groovy?type=subeq&query=<http://purl.obolibrary.org/obo/BFO_0000050> some <http://purl.obolibrary.org/obo/GO_0006915>&ontology=GO')
This => 200 + empty results (see #39 ):
query = '<http://purl.obolibrary.org/obo/BFO_0000050> some <http://purl.obolibrary.org/obo/GO_0006915>'
p = requests.post(url = 'http://aber-owl.net/service/api/runQuery.groovy?',
data = json.dumps({ 'type': 'subeq', 'ontology': 'GO', 'query': query }))
Is there a way to use POST, and if not, can you add support?
Cheers,
David
Update inline code documentation for all modules and run it through doxygen/similar
e.g. alcohol returns 'kegg compound' as label instead of 'alcohol
People should have the option to use AberOWL from within OWLAPI, by implementing an AberOWLReasoner, which implements OWLReasoner and supports all the OWLAPI calls. The ontology would either be the ontology in AberOWL, or, if it's not available, the ontology in OWLAPI which is sent to AberOWL and then classified there and queried through the AberOWLReasoner class.
Would be nice to have a permalink for any page being viewed in aber-owl, whether browsing the tree, or posing a query.
Namely: new ontologies do not reload correctly, new versions of very large ontologies do not reload
If available in the ontology, version IRIs should be displayed, both at the Overview page of an ontology and on the download tab.
See #45
On performing a keyword search on a specific ontology, two issues arise
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.