ternaustralia / dawe-rlp-vocabs

Controlled vocabularies for the EMSA field survey protocols.
https://linkeddata.tern.org.au/viewers/dawe-vocabs
2 stars 2 forks source link

Identify alternate labels and broader relationships for all parameters (linked with the jira task https://ternaus.atlassian.net/browse/TERNDA-4227) #183

Closed junrongYu closed 1 year ago

junrongYu commented 2 years ago

Here we document all the vocabs associated with alternate labels and broader relationships and/or with similar definition/s but are addressed differently in each of the 18 DAWE modules. We first identify and list all the vocabs that have these discrepancy, and then review them with the DAWE team. Once finalised, we use the TERN "preferred label" as the preferred vocab, and list all the alternate labels as "skos:altLabel" for mapping purposes.

arunherb commented 2 years ago

A. ### Growth stage (in Plot description module); (https://dev.core-api.paratoo.tern.org.au/lut-veg-growth-stages)

B. ### Growth stage - tree and Growth stage - shrub (in Condition module); (http://vocabs.paratoo.tern.org.au:1337/api/lut-condition-growth-stage-shrubs)

C. ### flora growth stage (in targeted flora survey); (http://vocabs.paratoo.tern.org.au:1337/api/lut-targeted-survey-flora-growth-stages)

D. ### Growth stage (in recruitment). (http://vocabs.paratoo.tern.org.au:1337/api/lut-veg-growth-stages)

I think the ‘Condition’ and ‘Targeted survey’ share the same categorical API's but the categorical luts are somewhat appearing with abbreviations in one and complete names in other module.

Likewise, the condition and Plot description should probably be similar(or related). In any case, they are all referring the stage of growth of an individual (or populations in targeted survey only). They should be somehow related and we should use the synonyms (or exact match concept here).

Solution suggestion: We use “vegetation growth stage” as preferred label for “plot description” and “condition” and we link the “growth stage”, “flora growth stage” as related ( “association” or “alternate names”, etc). Synonyms: flora growth stage, growth stage- shrub, growth stage - tree.

Let me know what you think?

junrongYu commented 2 years ago

Hi @arunherb ,

Thanks for this nice catch, can we only discuss here? cuz the Jira task cannot be added to my board.


I think the ‘Condition’ and ‘Targeted survey’ share the same categorical API's

Yes, the values for these 3 APIs are from the same table, but the difference is lut-condition-growth-stage-shrubs only has description for shrubs, lut-condition-growth-stage-trees only has description for trees, but lut-targeted-survey-flora-growth-stages has both. Is it necessary to separate shrubs and trees in targeted survey as well?


the condition and Plot description should probably be similar(or related)

Yes, I think so, although the categorical values are different, they have similar meaning.


We use “vegetation growth stage” as preferred label for “plot description” and “condition”

Probably not, cuz the same label means that they are the same parameter, but actually categorical values are different.

My suggestion is we keep these 4 parameters (Growth stage, Growth stage - tree, Growth stage - shrub, flora growth stage) separate because they are different from each other based on categorical values. And we can link each other with predicate like skos:altLabel. For example, the alternative label for growth stage can be vegetation growth stage, flora growth stage. What do you think?

Thanks, Junrong

arunherb commented 2 years ago

Hi @junrongYu ,

Sounds good. "My suggestion is we keep these 4 parameters (Growth stage, Growth stage - tree, Growth stage - shrub, flora growth stage) separate because they are different from each other based on categorical values. And we can link each other with predicate like skos:altLabel. For example, the alternative label for growth stage can be vegetation growth stage, flora growth stage. What do you think?" I think we can use this, but in that case we need to have a definition for each of these parameters and indicate that they are referring to that particular module and has those categorical values. I'll think more on this when we finalise these vocabs.

Thanks, Arun

junrongYu commented 2 years ago

Hi @arunherb ,

Yes, that make sense, and the properties or attributes collection they belong to also shows which module or sub module they are in. Also for properties, there is a predicate tern:hasMethod showing the current module, like https://github.com/ternaustralia/dawe-rlp-vocabs/blob/f123a33c214221e12ba4a6002df214346df64791/vocab_files/observable_property_concepts/age-class.ttl#L19

arunherb commented 2 years ago

Hi @junrongYu ,

I've updated a sheet on the original checklist called "synonyms". Please have a look here. "https://docs.google.com/spreadsheets/d/1JXP16wh1IG4i9-mdL_xOCJc60Y6vhQMiloCV0d0SIjw/edit#gid=1666391631".

I've added a column called "preferred label" and another called "Synonyms/Alternate_names" where you'll see the names we've finalised based on our iterations. Let me know if this method works well, if not suggest any alternate methods where we can document the vocabs for review/finalze for DAWE.

Arun

junrongYu commented 2 years ago

Hi @arunherb , can you add the description(at the top, there is a description) for this issue when have time? so that others know what this issue is. Thanks!

arunherb commented 2 years ago

Hi @arunherb , can you add the description(at the top, there is a description) for this issue when have time? so that others know what this issue is. Thanks!

Done!

arunherb commented 2 years ago

Hi @junrongYu, synonyms associated with Lithology type I remember we had discussed the "lithology" related vocabs earlier. But, I've just documented here again.

There are these vocabs in our first version: "lithology type" (soil- plot description); "coarse fragments lithology" (soil - pit characterisation); "surface strew lithology" (Plot description); "outcrop lithology" (plot description).

I guess "lithology type", must be changed to "rock outcrop - lithology" (see soil - plot description). Not sure how we missed that. All others seem to be fine and are module-specific, although they share the same lut-API. So we can stick with that.

Also, I observed that the "surface strew lithology" doesn't have API endpoint??

edmondchuc commented 2 years ago

classification hierarchy

arunherb commented 2 years ago

Targeted survey- "flora growth form" Opportunistic observation - " growth form (flora) Fire - "plant growth form"

They all are referring to the same concept and share same definition.

Refer to this Solution in the issue https://github.com/ternaustralia/dawe-rlp-vocabs/issues/91#issuecomment-1207682091: we will keep 'flora growth form' for Opportunistic observation module and Targeted survey module, and we can use the "plant growth form" as preferred label in fire module and add "flora growth form" as "skos:altlabel"? Does that help for now?

arunherb commented 2 years ago

Opportunistic observations module - "habitat description" Targeted survey - fauna protocol active - "habitat description" Targeted survey - fauna protocol observation - "habitat description" Targeted survey - flora protocol - "habitat description"

The "habitat description" from opportunistic observation has a definition referring to the habitat, whereas all others share the same definition referring to the description of the habitat. I think we should stick with one definition that refers to describing the habitat for all these vocabs?

Also, in Invertebrate fauna - active sampling - "habitat information" (see active diurnal searching, pt 13.) looks like it is just a description of the photo ID that includes specific habitat information. We probably do not need this vocab here?

Let me know your thoughts.

Arun

junrongYu commented 2 years ago

Hi @arunherb , Jeremy gave feedback about this here https://github.com/ternaustralia/dawe-rlp-vocabs/issues/88#issuecomment-1184000001, let me know if you have any thoughts.

arunherb commented 2 years ago

Hi @arunherb , Jeremy gave feedback about this here #88 (comment), let me know if you have any thoughts.

Hi @junrongYu , Yes we can maintain one definition for all these modules. I've updated the generic definition for 'habitat description' in the definition column of synonyms sheet. You can view here: https://docs.google.com/spreadsheets/d/1JXP16wh1IG4i9-mdL_xOCJc60Y6vhQMiloCV0d0SIjw/edit#gid=1666391631

arunherb commented 2 years ago

Floristics module - "scanned voucher" - updated to "voucher specimen barcode id" as in other modules (Targeted Survey and Vertebrate Fauna). Plant tissue vouchering shows a vocab "QR code id", but we do not have this vocab as part of this module. Is it nothing but the "voucher specimen QR code id" as in the Vertebrate Fauna module?

arunherb commented 2 years ago

https://github.com/ternaustralia/dawe-rlp-vocabs/issues/93#issuecomment-1183993199 Just documenting this issue here: "plant growth form", "flora growth form", "dominant growth form", they all refer to the same concept. Must be of the hierarchy:

growth form

arunherb commented 2 years ago

Just documenting the isssue here: Integrate flora health factor, health factors, vegetation health, health to vegetation health factor

These appear in different modules :

We decide to keep a vocab ' vegetation health factor' based on this issue https://github.com/ternaustralia/dawe-rlp-vocabs/pull/131#issue-1295030056

arunherb commented 2 years ago

In Fire and CWD modulem we have:

Both have the same definition and are referring to the orientations (N, S, E, etc.). Also, transect orientation has a categorical collection, but no for transect point orientation. Shall we merge these two and just keep "transect orientation" which has the categorical collection and use them between these two modules?

Arun

arunherb commented 2 years ago

We have already created this issue before, but just documenting here: https://github.com/ternaustralia/dawe-rlp-vocabs/issues/87#issue-1279393210

So we keep "plant alive status" and remove the "tree alive status". Looks like Jeremy has updated at their end: https://github.com/ternaustralia/dawe-rlp-vocabs/issues/87#issuecomment-1184022324

arunherb commented 2 years ago

We have vocabs for "in canopy sky" from Cover module and "in canopy sky (ics) status" from Fire module.

We should merge them to keep just one vocab as "in canopy sky (ics) status" and use them as common between the two modules.

arunherb commented 2 years ago

There are two interesting parameters, which probably are linked somehow:

The idea is that the number of individuals for a targeted seedling or sapling is the same as 'seedling count' or 'sapling count'. In any case, we should probably keep it as module specific (as it appears on the app screen) and/or we can use the "skos:altlabel" concept to somehow capture this in our information model?

arunherb commented 2 years ago

Similar as above, we have:

Here, we can probably merge 'tree height' from Targeted survey to 'plant height', because the target flora survey is not always a tree, it can be a sapling or shrub etc. However, we should probably keep the 'tree height' specifically to define the height of the small tree in Recruitment age class protocol and then somehow link this with 'plant height' using the "skos:altlabel" concept in our information model?

arunherb commented 2 years ago

Just documenting this here:

Integrate 'fauna sex', 'animal sex' and 'sex' to 'animal sex' https://github.com/ternaustralia/dawe-rlp-vocabs/pull/134#issue-1295230306

junrongYu commented 2 years ago

Hi @arunherb , where are parameters scanned voucher and QR code id? they are not searchable in our GraphDB. refer to comment https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1208785268

junrongYu commented 2 years ago

flora growth form === plant growth form

Hi @arunherb , I am not sure whether they are equal cuz the categorical values are different. I asked Jeremy whether they are the same but he doesn't reply.

junrongYu commented 2 years ago

Hi @arunherb , for this comment https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1216047254

Shall we merge these two and just keep "transect orientation" which has the categorical collection and use them between these two modules?

I think it's better to refer back to Fire module and figure out why transect point orientation was identified and why the value type is text instead of categorical.

I read it and from my understanding, the parameter may be unnecessary? cuz the description is like

It does not matter which order, or which direction each transect is completed, as your start position will be recorded in Step 8.

Does that mean only the transect start point needs to be recorded? Let me know if you have any thoughts. Thanks.

junrongYu commented 2 years ago

Hi @arunherb , for this comment https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1216052940

So we keep "plant alive status" and remove the "tree alive status".

There are 3 similar parameters, tree status, tree alive status, plant alive status, they seem to have the same definition, but categorical values are different, so I am wondering whether they are the same parameter.

You can run this query to see the difference:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?moduleCollectionLabel ?parameterLabel ?parameterDefinition ?valueTypeURI ?featureType ?parameterMethod ?parameterSource ?categoricalCollectionLabel ?api
{
    ?moduleCollectionURI skos:member ?parameterURI ;
                         skos:prefLabel ?moduleCollectionLabel .
    ?parameterURI skos:prefLabel ?parameterLabel ;
                    tern:valueType ?valueTypeURI .
#    ?valueTypeURI rdfs:label ?valueType .
    optional {?parameterURI skos:definition ?parameterDefinition .}
    optional {
            ?parameterURI tern:hasFeatureType ?featureTypeURI . 
            service <https://graphdb.tern.org.au/repositories/tern_vocabs_core> {
        ?featureTypeURI skos:prefLabel ?featureType .
    }}
    optional {
        ?parameterURI tern:hasMethod ?parameterMethodURI .
        ?parameterMethodURI skos:prefLabel ?parameterMethod .
    }
    optional {
        ?parameterURI dcterms:source ?parameterSource .
    }
    optional {
        ?parameterURI tern:hasCategoricalCollection ?categoricalCollectionURI .
        ?categoricalCollectionURI skos:prefLabel ?categoricalCollectionLabel ;
                                  dcterms:source ?api .
    }
    filter (?parameterLabel in ('tree status', 'plant alive status', 'tree alive status'))
}
order by ?parameterLabel

Looks like Jeremy has updated at their end: https://github.com/ternaustralia/dawe-rlp-vocabs/issues/87#issuecomment-1184022324

I think Jeremy has misunderstood the issue cuz it's about common parameters instead of categorical values or APIs. Also, he said the API is updated to lut-plant-alive-status, but the API is actually not working http://vocabs.paratoo.tern.org.au:1337/api/lut-plant-alive-status

I'll reply him and update the issue to make things clearer.

junrongYu commented 2 years ago

Hi @arunherb , for this comment https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1216129947

We should merge them to keep just one vocab as "in canopy sky (ics) status" and use them as common between the two modules.

Yes, I agree with you. Their feature type is different, one is plant individual and another is plant occurrence, which one do you prefer? Also, the definition is different as well.

junrongYu commented 2 years ago

Hi @arunherb , for this comment https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1217284100

In any case, we should probably keep it as module specific (as it appears on the app screen) and/or we can use the "skos:altlabel" concept to somehow capture this in our information model?

Good catch! I am thinking whether they have some broad or narrow relationship, like number of individuals is the broader concept of the other 2.

arunherb commented 2 years ago

Hi @arunherb , where are parameters scanned voucher and QR code id? they are not searchable in our GraphDB. refer to comment #183 (comment)

Hi @junrongYu , this was there in the old module - first set of deliverables. It has been fixed I suppose. You may ignore it and refer to the latest updates on this checklist : https://docs.google.com/spreadsheets/d/1JXP16wh1IG4i9-mdL_xOCJc60Y6vhQMiloCV0d0SIjw/edit#gid=1709262829

arunherb commented 2 years ago

flora growth form === plant growth form

Hi @arunherb , I am not sure whether they are equal cuz the categorical values are different. I asked Jeremy whether they are the same but he doesn't reply.

Hi @junrongYu, we should ask the surveillance team as to why they have different categorical values. I guess there are just a few additions/variations of the growth form. I think we should keep just either flora or plant growth form between the two modules and ask them to homogenise the look-up tables.

arunherb commented 2 years ago

Hi @arunherb , for this comment #183 (comment)

Shall we merge these two and just keep "transect orientation" which has the categorical collection and use them between these two modules?

I think it's better to refer back to Fire module and figure out why transect point orientation was identified and why the value type is text instead of categorical.

I read it and from my understanding, the parameter may be unnecessary? cuz the description is like

It does not matter which order, or which direction each transect is completed, as your start position will be recorded in Step 8.

Does that mean only the transect start point needs to be recorded? Let me know if you have any thoughts. Thanks.

Hi @junrongYu ,

yes, I did refer back. I do not think we require this vocab, "transect point orientation" here, as it will be clear if the "transect starting point" is documented. We can remove this and just keep the "transect orientation" between the two modules?

junrongYu commented 2 years ago

Hi @arunherb ,

We can remove this and just keep the "transect orientation" between the two modules?

Yes, I'll do it later. Thanks.

arunherb commented 2 years ago

Hi @arunherb , for this comment #183 (comment)

So we keep "plant alive status" and remove the "tree alive status".

There are 3 similar parameters, tree status, tree alive status, plant alive status, they seem to have the same definition, but categorical values are different, so I am wondering whether they are the same parameter.

You can run this query to see the difference:

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX tern: <https://w3id.org/tern/ontologies/tern/>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?moduleCollectionLabel ?parameterLabel ?parameterDefinition ?valueTypeURI ?featureType ?parameterMethod ?parameterSource ?categoricalCollectionLabel ?api
{
    ?moduleCollectionURI skos:member ?parameterURI ;
                         skos:prefLabel ?moduleCollectionLabel .
    ?parameterURI skos:prefLabel ?parameterLabel ;
                  tern:valueType ?valueTypeURI .
#    ?valueTypeURI rdfs:label ?valueType .
    optional {?parameterURI skos:definition ?parameterDefinition .}
    optional {
            ?parameterURI tern:hasFeatureType ?featureTypeURI . 
            service <https://graphdb.tern.org.au/repositories/tern_vocabs_core> {
        ?featureTypeURI skos:prefLabel ?featureType .
    }}
    optional {
        ?parameterURI tern:hasMethod ?parameterMethodURI .
        ?parameterMethodURI skos:prefLabel ?parameterMethod .
    }
    optional {
        ?parameterURI dcterms:source ?parameterSource .
    }
    optional {
        ?parameterURI tern:hasCategoricalCollection ?categoricalCollectionURI .
        ?categoricalCollectionURI skos:prefLabel ?categoricalCollectionLabel ;
                                  dcterms:source ?api .
    }
    filter (?parameterLabel in ('tree status', 'plant alive status', 'tree alive status'))
}
order by ?parameterLabel

Looks like Jeremy has updated at their end: #87 (comment)

I think Jeremy has misunderstood the issue cuz it's about common parameters instead of categorical values or APIs. Also, he said the API is updated to lut-plant-alive-status, but the API is actually not working http://vocabs.paratoo.tern.org.au:1337/api/lut-plant-alive-status

I'll reply him and update the issue to make things clearer.

Hi @junrongYu ,

Yes thanks for looking into "tree status", I may have missed this. I guess technically a "plant alive status" is a broader term referring to either a "tree, shrub or herb, etc", but "tree alive status" is just referring to tree. In any case, we should ask the surveillance team, whether they want them as separate. I've added notes in the synonyms checklist for them to review!

arunherb commented 2 years ago

Hi @arunherb , for this comment #183 (comment)

We should merge them to keep just one vocab as "in canopy sky (ics) status" and use them as common between the two modules.

Yes, I agree with you. Their feature type is different, one is plant individual and another is plant occurrence, which one do you prefer? Also, the definition is different as well.

@junrongYu , I think it fits better for feature type of 'plant occurrence', because it technically it is a feature of plant cover/occurrence.

arunherb commented 2 years ago

Hi @arunherb , for this comment #183 (comment)

In any case, we should probably keep it as module specific (as it appears on the app screen) and/or we can use the "skos:altlabel" concept to somehow capture this in our information model?

Good catch! I am thinking whether they have some broad or narrow relationship, like number of individuals is the broader concept of the other 2.

@junrongYu , Yes, I think so.

arunherb commented 2 years ago

hi @junrongYu , Can we merge "sample plot id" to "fauna plot id"? Because it is technically referring to the sample plot where the samples where the invertebrate samples were collected.

arunherb commented 2 years ago

Hi @junrongYu ,

Can we merge "fauna plot name" and "plot name". May be we keep "fauna plot name", as it refers specifically to the fauna plot under survey.

junrongYu commented 2 years ago

Hi @arunherb ,

Can we merge "sample plot id" to "fauna plot id"?

Yes we can, which feature type you prefer? spatial point is for fauna plot id and site for sample plot id.

arunherb commented 2 years ago

@junrongYu ,

Looks like we have two definitions for "number of individuals"

Hi @arunherb ,

Can we merge "sample plot id" to "fauna plot id"?

Yes we can, which feature type you prefer? spatial point is for fauna plot id and site for sample plot id.

I think "fauna plot id" it should be a feature of a "site", because plots can have area dimensions of 20 x 20 m or 1 ha, etc. and encompass a large area with multiple spatial points in the plot. Hope that helps.

arunherb commented 2 years ago

@junrongYu : The comment below is related to: https://github.com/ternaustralia/dawe-rlp-vocabs/issues/183#issuecomment-1221651863 We have two definitions for the vocab "number of individuals"- one from Targeted survey and one from Vertebrate fauna survey. We should use the one that is more broader, i.e., "The number of individuals present at the time of sampling."?

junrongYu commented 1 year ago

Linked with https://ternaus.atlassian.net/browse/TERNDA-4227, done.