GithubHelp home page GithubHelp logo

evoinfo / cdao Goto Github PK

View Code? Open in Web Editor NEW
9.0 4.0 4.0 224 KB

Comparative Data Analysis Ontology - A formalization of concepts and relations relevant to evolutionary comparative analysis

License: Creative Commons Zero v1.0 Universal

comparative-analysis phylogenetics ontology semantic-web information-exchange obofoundry

cdao's People

Contributors

arlin avatar balhoff avatar bchisham avatar cthoyt avatar epontell avatar hlapp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

cdao's Issues

Ontology is not in DL

In theory this should have been fixed in 0245c85, but apparently the following was missed. This is what ROBOT reports:

OWL 2 DL Profile Report: Ontology and imports closure NOT in profile. The following violations are present:
Use of non-simple property in a restriction: ObjectMinCardinality(1 <http://purl.obolibrary.org/obo/CDAO_0000194> <http://purl.obolibrary.org/obo/CDAO_0000006>) [SubClassOf(<http://purl.obolibrary.org/obo/CDAO_0000140> ObjectMinCardinality(1 <http://purl.obolibrary.org/obo/CDAO_0000194> <http://purl.obolibrary.org/obo/CDAO_0000006>)) in OntologyID(OntologyIRI(<http://purl.obolibrary.org/obo/cdao.owl>) VersionIRI(<http://purl.obolibrary.org/obo/cdao/2013-02-01/cdao.owl>))]
Use of non-simple property in a restriction: ObjectMinCardinality(1 <http://purl.obolibrary.org/obo/CDAO_0000194> <http://purl.obolibrary.org/obo/CDAO_0000012>) [SubClassOf(<http://purl.obolibrary.org/obo/CDAO_0000026> ObjectMinCardinality(1 <http://purl.obolibrary.org/obo/CDAO_0000194> <http://purl.obolibrary.org/obo/CDAO_0000012>)) in OntologyID(OntologyIRI(<http://purl.obolibrary.org/obo/cdao.owl>) VersionIRI(<http://purl.obolibrary.org/obo/cdao/2013-02-01/cdao.owl>))]

Comprehensively normalize labels that resulted from earlier migration

The v1.0 version of CDAO used term IRIs that were constructed from (semi) human-readable labels. In the course of migrating these to OBO-style opaque term IRIs (see 2012-06-06 release) the term identifier hash-suffixes were converted to labels using CamelCase.

These labels should be normalized to separate words by spaces, dashes, or other applicable delimiter, and with appropriate upper/lower case. (See #10 โ€“ addressing #2 โ€“ as an example.)

Such a change should not obsolete any term, since the semantics of the corresponding terms is not changing at all.

Recreate README file

Originally there was a README, but it didn't get carried over to the subversion line of history, and was never added back in there.

It can probably be seeded from bd696d5 (the first commit), which is unchanged in version 1.0.

Migration (import) of v1.0 (pre-April 2012) development history

The development history of CDAO up until and including v1.0 (http://www.evolutionaryontology.org/cdao/1.0/cdao.owl) (the version originally published) has remained in a CVS repository on SourceForge.net.

The earliest release published under the purl.obolibrary.org URI is essentially that v1.0 version, so I wanted to see whether we can preserve the history of that somehow.

I've now managed to migrate the CVS revision history of the v1.0 release to Git (using git cvsimport and cvsps v2.1 compiled from source). I've pushed up the results here as sf-cvs-trunk, sf-cvs-arlin, and sf-cvs-Enrico_May. The sf-cvs-trunk branch presents a continuous history from 2008-2011 and is what one might consider as the "main trunk" in CVS or master in Git parlance. sf-cvs-arlin seemed to have ended very early on. sf-cvs-Enrico_May contains a significant amount of early history that isn't obviously redundant with the main trunk (using solely commit log messages) but ends years prior to the main trunk; it may have been a tag?

Ideally I would want a continuous history from the beginning to now. That would require grafting the master branch onto the head of sf-cvs-trunk. I could try doing that but the changes would be so drastic that on the level of each file there wouldn't be any continuity worth speaking of. The only exception may be cdao.owl, but that file changed location (from OWL/cdao.owl to the repo root directory).

Thoughts on the merits of this and which CVS migration results (the branches enumerated above) to keep around and which ones not to are welcome.

Tagging @arlin, @epontell, @rvosa (and @bchisham - can't identify the Github user corresponding to F. Prosdocimi).

deprecate the part_of property and consolidate its usages on belongs_to

This issue is motivated by achieving conformance with the OBO dashboard. In the near future, lack of conformance with the dashboard checks will impact an ontology's listing on the OBO homepage.

One of the failures is usage of an object property (part_of) with the same label as one found in RO. OBO ontologies should reuse RO properties whenever possible. In this case, CDAO actually contains another property stated to be equivalent to part_of: belongs_to. This situation isn't really encouraged either.

So I propose that we deprecate part_of, and rewrite any axioms using that property to instead use belongs_to. This should all be logically equivalent. Down the road we can remove the equivalence statement. This plan of action resolves the name conflict with RO, and simplifies the equivalent property situation. Farther down the road we could choose to adopt appropriate RO properties directly.

Review CDAO release tags

I created 4 tags (to be promoted to release tags) for the history of CDAO releases:

Once I promote them to releases I can't delete them anymore, hence @balhoff @epontell @arlin could you please review for accuracy etc and give ๐Ÿ‘ or ๐Ÿ‘Ž ?

BTW I notice that URLs and commit SHA1s in the tag's comments aren't hyperlinked in the per-tag pages linked to above. They are, however, in the list of tags; simply click the ... dots to expand the description.

Concept for the "pseudo-root" of an unrooted tree

Originally requested by @bendmorrris on CDAO-discuss:

A few of us discussed this briefly at iEvoBio; it would be great to have a concept similar to "has_Root", but for unrooted trees. Some tree formats, such as Newick, represent rooted and unrooted trees identically - an unrooted tree has a "pseudo-root" and is represented the same way as a rooted tree. The position of this pseudo-root is completely arbitrary. If a Newick tree is converted to CDAO and then back to Newick, the resulting tree may appear to be "rooted" differently than the original. While this is technically fine (since it's unrooted, it shouldn't matter where the "pseudo-root" is placed), it may be confusing or irritating to users. Having a property cdao:has_PseudoRoot would ensure that the tree could be retrieved from a triple store and converted back to a Newick tree without changing the position of the pseudo-root - so users would get back a tree that they could easily verify was identical to what they started with.

Currently I'm using has_Root for unrooted trees; this is certainly incorrect, as the pseudo-root is not a root. It's important to distinguish between a true root and what's merely a starting point for convenience but has no real meaning.

See thread on CDAO-discuss for responses.

`has_Node` is a confusing label for this property

has_Node (and its subproperties, has_Parent_Node and has_Child_Node) are designed for representing the relationship between an edge and a node. This may be a little confusing with has_Parent and has_Child, which represents the relationship between two nodes in a phylogeny. It might be useful to rename has_Node/has_Parent_Node/has_Child_Node to something that make it clearer that they relate to edges, and are not intended to create sets of things like the similarly named has_Element -- for example, users might expect SetOfNodes to be defined by has_Node rather than has_Element.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.