INCATools / dead_simple_owl_design_patterns

A simple system for specifying OWL class design patterns for OBO-ish ontologies.
http://incatools.github.io/dead_simple_owl_design_patterns/
GNU General Public License v3.0
42 stars 5 forks source link

Proposal for tracking template metadata for each generated class #12

Open cmungall opened 9 years ago

cmungall commented 9 years ago

The goal is to allow simple retrospective refactoring of patterns. This is in principle possible by matching on equivalence axioms, it will be simpler to do this by exposing the template filler values.

Basic structure:

Annotations:
    applies-design-pattern $PATTERN_NAME,
    var1 FILLER1,
    ...
    varN FILLERn

$PATTERN_NAME should be an IRI rather than a literal. Currently the pattern name field is the basename of the file. A good choice of IRI would be $OBO/lc($idspace)/patterns/$basename. Should we encourage lc($idspace)/patterns/$basename in the pattern_name field?

This could also form the base for the vars, e.g. $OBO/lc($idspace)/patterns/$basename/$varX

The fillers would be the IRI values of the actual filler.

dosumis commented 9 years ago

I like this. Let's do it. Re pattern name field, perhaps better to have an optional base URI field? Then no ambiguity about short form gen rules. Also doesn't force users to go URI route. On 18 Oct 2015 23:24, "Chris Mungall" notifications@github.com wrote:

The goal is to allow simple retrospective refactoring of patterns. This is in principle possible by matching on equivalence axioms, it will be simpler to do this by exposing the template filler values.

Basic structure:

Annotations: applies-design-pattern $PATTERN_NAME, var1 FILLER1, ... varN FILLERn

$PATTERN_NAME should be an IRI rather than a literal. Currently the pattern name field is the basename of the file. A good choice of IRI would be $OBO/lc($idspace)/patterns/$basename. Should we encourage lc($idspace)/patterns/$basename in the pattern_name field?

This could also form the base for the vars, e.g. $OBO/lc($idspace)/patterns/$basename/$varX

The fillers would be the IRI values of the actual filler.

— Reply to this email directly or view it on GitHub https://github.com/dosumis/dead_simple_owl_design_patterns/issues/12.

cmungall commented 9 years ago

+1 to a base field

On 19 Oct 2015, at 0:07, David Osumi-Sutherland wrote:

I like this. Let's do it. Re pattern name field, perhaps better to have an optional base URI field? Then no ambiguity about short form gen rules. Also doesn't force users to go URI route. On 18 Oct 2015 23:24, "Chris Mungall" notifications@github.com wrote:

The goal is to allow simple retrospective refactoring of patterns. This is in principle possible by matching on equivalence axioms, it will be simpler to do this by exposing the template filler values.

Basic structure:

Annotations: applies-design-pattern $PATTERN_NAME, var1 FILLER1, ... varN FILLERn

$PATTERN_NAME should be an IRI rather than a literal. Currently the pattern name field is the basename of the file. A good choice of IRI would be $OBO/lc($idspace)/patterns/$basename. Should we encourage lc($idspace)/patterns/$basename in the pattern_name field?

This could also form the base for the vars, e.g. $OBO/lc($idspace)/patterns/$basename/$varX

The fillers would be the IRI values of the actual filler.

— Reply to this email directly or view it on GitHub https://github.com/dosumis/dead_simple_owl_design_patterns/issues/12.


Reply to this email directly or view it on GitHub: https://github.com/dosumis/dead_simple_owl_design_patterns/issues/12#issuecomment-149123597

dosumis commented 9 years ago

base field added b0069f17f133989864fd1ebcdebb433512aeca10 (Should probably split out the spec config data structure from the implementation.)