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

lego plugin feature request: generate minimal model #80

Open
ShahimEssaid opened this issue Feb 2, 2015 · 0 comments
Open

lego plugin feature request: generate minimal model #80

ShahimEssaid opened this issue Feb 2, 2015 · 0 comments

Comments

@ShahimEssaid
Copy link

From cmung...@gmail.com on October 07, 2013 11:39:33

Add option under "Edit" menu, called "generated entailed individuals",
to be called when a class is selected

(See Jim B's obsoletion plugin - could easily be cloned for this)

Selecting this will call

generateNecessaryIndividuals(selectedClass, true)

On a MinimalModelGenerator object. If no such object exists (not sure
how plugins deal with state?), then create one:

MinimalModelGenerator(ontology, ontology, reasoner)

Where 'ontology' is the current ontology. Note that by passing the
same ontology as both arguments, the individuals will be generated in
the same ontology as the "tbox" ontology.

The reasoner should already have been selected.

After calling, the ontology should be populated with new
individuals. It would be nice to highlught these somehow, but this is
optional.

The idea is that users can selected some GO class that is rich in
axioms (see x-cellular.owl for examples) and generate a template lego
model.

See testGeneratePathway and basic-tbox.omn in core for simple
examples.

Additional notes:

Subsequent to the generateNecessaryIndividuals call, the tool should
call:

    Set<OWLClass> occs = new HashSet<OWLClass>();
    occs.add(getOboClass("GO_0003674"));
    occs.add(getOboClass("GO_0008150"));
    mmg.anonymizeIndividualsNotIn(occs);

This is necessary to work with the current version of the lego plugin,
which complains if there are individuals not processes or functions.

This will take 2 triples:

Individual: activity_individual_1
Facts: occurs_in named_location_individual_1
Individual: named_location_individual_1
Type: GO:nucleus

And turn it into:

Individual: activity_individual_1
Type: occurs_in SOME named_location_individual_1

However, this code or something analagous should be moved to the lego
visualizer itself. The idea is that you configure that classes you
"care" about the individuals, and then all others are invisible as
nodes but instead rendered as existential Type axioms on other nodes.

Original issue: http://code.google.com/p/owltools/issues/detail?id=80

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant