cidgoh / ontotrek Goto Github PK
View Code? Open in Web Editor NEWA 3d ontology visualizer focusing on OBOFoundry.org ontologies
License: GNU General Public License v3.0
A 3d ontology visualizer focusing on OBOFoundry.org ontologies
License: GNU General Public License v3.0
Hi!
There is a common practice that a big ontology family uses <owl:imports>
to group things thematically. There can be an ontology consisting only of imports, like, e.g. this one created to keep all the parts of Digital Construction ontologies.
Is it possible to visualize such ontology in OntoTrek?
I am restructuring code to work directly off of OWL rdf/xml files, courtesy of rdflib.js . This will make it MUCH easier to render any given ontology in 3d. No more need for ontofetch.py.
Allow more than one ontology to be displayed within same graph, by successively selecting them. Perhaps delete ontology from graph by selecting root node and hitting delete.
IAO:definition is used within OBOFoundry ontologies. Others may use dc:description so allow that to be read in. More of an ontofetch.py capability.
The rendering may appear to place it on its own in empty space, at some depth Example: Ecocore "behavioural quality" has a deprecated parent, and in sidebar that parent is listed by ID only.
Is the PATO ontology .owl file misformed? The following error is obtained when trying to render it:
Uncaught TypeError: Cannot read property 'prefix' of undefined
at development.js:154
at updateObj (3d-force-graph.min.js:5)
at 3d-force-graph.min.js:2
at Array.forEach (<anonymous>)
at 3d-force-graph.min.js:2
at eu (3d-force-graph.min.js:2)
at Au (3d-force-graph.min.js:5)
at Function.update (3d-force-graph.min.js:5)
at 3d-force-graph.min.js:2
at c (3d-force-graph.min.js:2)
Drawing links from some "other_parents" items to a given node, where the other parent in question hasn't been created yet I guess, creates an odd branch depth jump, ultimately resulting in much more spread out graph. It may arise when parent node has been deprecated and so hasn't been created in graph if switch to show deprecated items is off.
Code is in line 604 of common.js, around "// 3rd pass does secondary parent LINKS which could be to shallower nodes"
Create a cached xyx version of a graph that can be saved after it is rendered. Then we can add that as the default to display, and just have an option to clear a cache and regenerate from source owl file.
Enable highlight / hiding of branches of ontology temporarily - e.g. select node and have all sub-notes hidden/emphasized.
Protege and Robot (https://github.com/ontodev/robot) have the capability of generating one or more explanations for errors. Feed these into OntoTrek to enable visualization of the conflicting inheritance classes.
E.g. if it is reported that "populated place, Alaska" is unsatisfiable, then run robot:
robot explain --input genepio-edit.owl --reasoner HermiT --axiom "'populated place, Alaska' EquivalentTo owl:Nothing" --explanation output.md
This yields:
Enable OntoTrek to receive this markdown and display contradiction.
It seems when fetching a branch of ontology via ontofetch.py that the label of the initial term fetched may not be retrieved or stored in the output json in all cases.
Improve navigation animation by checking out new https://github.com/vasturiano/3d-force-graph controlType parameter. “Eliminate pitch and roll in flight experience”
It seems like a hidden data structure left over from previous render is slowing an algorithm down. Currently the workaround is to reload the app, apply settings, then select an ontology.
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.