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

Objectives and sub-objectives #214

Open
pbuttigieg opened this issue May 3, 2019 · 10 comments
Open

Objectives and sub-objectives #214

pbuttigieg opened this issue May 3, 2019 · 10 comments

Comments

@pbuttigieg
Copy link

Related to #213 and obi-ontology/obi#988

Over at SDGIO, we'll be dealing with a lot of objectives that have sub-objectives nested within them.

In the UN Sustainable Development Goal space, we have Targets nested within Goals (both types of objective specifications).

In the CGIAR Big Data space, system level outcomes (SLOs) have, as sub-objectives, intermediate development outcomes (IDOs) which have sub-outcomes (sub-IDOs). These too are all kinds of objective specifications: SDG-InterfaceOntology/sdgio#155

@zhengj2007 @cmungall @johnwjudkins
Is there a best practice for what sort of relation or relation pattern to use here? I'm guessing it's not part of.

@zhengj2007
Copy link
Contributor

@pbuttigieg 'objective specification' is associated with 'planned process' and two relations defined in OBI:

  • achieves_planned_objective (OBI_0000417)
    domain: 'planned process', range: 'objective specification'
  • inverse relation, objective_achieved_by (OBI_0000833)

@pbuttigieg
Copy link
Author

Thanks for the response @zhengj2007!

@pbuttigieg 'objective specification' is associated with 'planned process' and two relations defined in OBI:

achieves_planned_objective (OBI_0000417)
domain: 'planned process', range: 'objective specification'
inverse relation, objective_achieved_by (OBI_0000833)

I understand this, but how does this help express that one objective specification is nested in another?

Perhaps something like:

  • process A achieves_planned_objective sub-objective
  • process A part_of process B
  • process B achieves_planned_objective super-objective

@Mttbnchtt
Copy link

I try to explain a thought, although it is from a non-expert. In general, the logical relations between an objective and its sub-objective can vary. So, it is hard to give a general, informative answer. However, the following is, I imagine, a common situation when the objective and its sub-objectives are stated to carefully plan the future moves of a research or policy group and to evaluate the outcome of these moves after some time:
(1) For each sub-objective, reaching it is a necessary condition for reaching the objective;
(2) Reaching all the sub-objectives is a sufficient condition for reaching the objective.

I do not think this is all that there is to say about nested objectives, but maybe it helps.

@pbuttigieg
Copy link
Author

If there's no further input on this, I think we'll have to go with the approach posted above for now (we have a time-limited project).

Very interested to see if this is developed in the future.

@zhengj2007
Copy link
Contributor

@pbuttigieg I used 'objective specification' as a way to classify the OBI assays which use different technologies for achieving same biological analysis goal. The objectives of a subProcess and the process which is part_of, generally won't hold 'part_of' relation. I agree what @Mttbnchtt said. But I am not sure how to implement it under 'objective specification' and how it will be used. It is make more sense for me to implement the relations of different planned processes. OBI assays have some kinds of these examples.

@pbuttigieg
Copy link
Author

Thanks @zhengj2007 !

The objectives of a subProcess and the process which is part_of, generally won't hold 'part_of' relation.

Agreed - this is why I noted that I doubted part_of was right in the initial post. I was just wondering if there was an information-level relation to express nestedness of directives.

It is make more sense for me to implement the relations of different planned processes.

Thanks, we'll pursue this route.

OBI assays have some kinds of these examples.

Could you link to a few you think are good to use as templates?

@zhengj2007
Copy link
Contributor

@pbuttigieg, Here is the OBI assay tab-delimited template file
https://github.com/obi-ontology/obi/blob/master/src/ontology/templates/assays.tsv

The assay has its assay objective specification. It has_part some subProcess which indicated in the column "material processing technique" specified the planned process which is part of an assay but has 'material transformation objective' (it has some objective as subclasses, like combination, separation). The 'material transformation objective' and 'assay objective' are sibling.

@pbuttigieg
Copy link
Author

So there is no compact way to say that Objective B is a sub-objective of Objective A?

We would have to have ObjA and ObjB, and then Process A and Process B, then state that:

  • Process B is a part_of Process A
  • therefore implying (for a human) that ObjB is a sub-objective of ObjA?

@cmungall
Copy link
Contributor

I will expand on my answer later, sorry if it's not so helpful at this stage

I would avoid objectives, and use processes. We have a well-formed theory of how processes relate to one another using standard relations like part-of, starts-with and so on. This has been tested extensively in ontologies like GO and ENVO. Domain scientists understand how processes connect. AFAIAW there is no corresponding theory for objectives.

I question the use cases for named classes for objectives. If you truly need to represent an objective rather than a process (and are you sure you do?) then use a class expression or at least a named class following a standard DP that uses a process as base. This could be done along the lines Pier proposes in the previous comment, which is 100% sound, but unfortunately comes with a hidden complexity and maintenance cost.

More later...

@pbuttigieg
Copy link
Author

I question the use cases for named classes for objectives. If you truly need to represent an objective rather than a process (and are you sure you do?) then use a class expression or at least a named class following a standard DP that uses a process as base

In the SDGIO case, we do need objectives/goals/etc as first-class citizens. That is (and has always been) the centre of the whole exercise and its alignments with other strategic goals. The processes will be there too, and likely be more useful in application.

Once we get the CGIAR use case in the game, we can see if there's a pattern to distill and I'm all for using that moving forward. Right now, we're not sure what the shape will be.

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

4 participants