Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

phyx2ontology.js is missing some equivalentClass statements #67

Open
gaurav opened this issue Apr 5, 2019 · 1 comment
Open

phyx2ontology.js is missing some equivalentClass statements #67

gaurav opened this issue Apr 5, 2019 · 1 comment

Comments

@gaurav
Copy link
Member

gaurav commented Apr 5, 2019

For example, a phyloreference with 5 specifiers should have 105 equivalent class expressions, but one example (Amphibia) has only 70. We need to figure out which combinations are being missed and/or rewrite the code for finding equivalent class expressions in a more explicitly tree-based fashion.

@gaurav
Copy link
Member Author

gaurav commented Apr 5, 2019

Note that some of these are covered by other equivalent class statements, so actually might have every combination in there after all.

One way of testing this would be to enumerate all possible topologies and test to make sure that every single one matches. This might be worth coding up as a unit test.

gaurav added a commit to phyloref/phyx.js that referenced this issue Jul 11, 2019
This PR updates phyx.js to produce Model 2.0 ontologies (closes #4). It updates TaxonomicUnitWrapper, TaxonConceptWrapper, TaxonNameWrapper and SpecimenWrapper to produce equivalent class expressions for taxonomic units. These are used by PhylogenyWrapper to produce OWL restrictions for nodes, which are added to their `rdf:type` in the form `cdao:represents_TU some [taxonomic unit as equivalent class expression]`.

It also completely replaces the code used to generate JSON-LD from a phyloreference in PhylorefWrapper with the model 2.0 code from the Clade Ontology (phyloref/clade-ontology#58). Note that this code needs better automated testing (see phyloref/clade-ontology#67 for an example).

Finally, we previously modeled specifiers as containing one or more taxonomic units. This PR updates the model so that specifiers *are* taxonomic units.

Making these changes has lead to the creation of a new Phyx context file. This allowed us to start changing properties to bring them in line with the new version of the Phyloref ontology (closes #9, #10).

Note that we still use the model 1.0 method for writing down which phyloreferences are expected to resolve to particular node, i.e. by labeling the node with the phyloreference or by using the `testcase:expected_phyloreference_named` property. Implementing that will require updating JPhyloRef to use the model 2.0 method as well, and so I'll do that in a separate PR.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant