ESIPFed / sweet

Official repository for Semantic Web for Earth and Environmental Terminology (SWEET) Ontologies
Other
115 stars 33 forks source link

ISSUE-125 Use wikidata to provide skos:definition to owl:Class'es #202

Closed lewismc closed 4 years ago

lewismc commented 4 years ago

This PR replaces both #201 and #200

A nice figure is that this addition now brings the total number of skos:definition's up to 2186!!! Much better :)

Anything further for me to do here folks? As always, review's appreciated.

lewismc commented 4 years ago

Seeing as there is 2186... and that the implementing code does NOT touch any Class which already has an skos:definition annotation statement. Would anyone have an issue if I edited the implementing code to run against dbpedia so see if we can get more results? This would be trivial to implement. I could create a new PR with the results.

graybeal commented 4 years ago

ooh, I forgot there were some existing skos:definitions. So how about this @lewismc? (#3 is the core of what I'm getting at, the other two may be "better is the enemy of good enough" items. But # 1 below at least is pretty important if we are going for # 3 below))

1) Add whatever annotations we can to document the existing skos:definitions, so they can be distinguished from what we are doing. (For this comment let's call them 'native' definitions, for convenience.) 2) If we consider the native definitions as better in some way, then as Chris Mungall suggested, establish a way to indicate that those definitions are preferred 3) By all means add dbpedia (and wikipedia) definitions to any and all SWEET terms, including those that already have native definitions.

Eventually we could even encourage (via a submission pattern, so ROBOT could undoubtedly help with this if they want to add directly; or we could continue to pull in by import as you are doing) the continued addition by various groups of reasonably consistent definitions from their groups, for a "compare and contrast" experience.

lewismc commented 4 years ago

Hi @graybeal this is great... makes perfect sense to me. I'm unsure how to do # 2 though haha.

. # 3 can be done easily on my side if we can somehow determine how to define all existing skos:definition's are preferred over the ones we automatically fetched from external sources.

Makes perfect sense John, just a few more pieces of clarification please. Any thoughts? Thank you

lewismc commented 4 years ago

@graybeal I wonder if we would use a skos:historyNote or skos:changeNote to specify commentary on the preferred annotation definition?

At the same time however, in master branch we are only talking about 38 instances where an owl:Class has an accompanying skos:definition annotation property and associated anonymous individual. This represents the work done by the Semantic Harmonization folks.

cat * | grep -c "skos:definition"
38
graybeal commented 4 years ago

I think if all 38 native definitions can have a common annotation—it could be anything really, a uniform skos:historyNote would be great—we can decide later if we need to favor that definition in any other way. (I don't recall having a warm fuzzy that these were superior definitions in any particular or obvious way, when I looked long ago.)

example:

<skos:historyNote> "Native curated definition by Semantic Harmonization team."

(And try to provide the same annotations as are provided for the other non-native annotations, to establish the standard pattern for all future definitions.)

lewismc commented 4 years ago

@graybeal I think taking this proposal to the Semantic Harmonization community would be best. I am +1 on this.

rrovetto commented 4 years ago

Whether we use one and/or other annotations would call for looking at the annotation description and seeing if the description of each annotation (e.g. skos:historyNote vs. changeNote) is what we are intending to express. Provided there is a description of the skos, rdfs, prov, or whatever annotation). And we can create annotations or sub-annotations for what we are intending to express.

lewismc commented 4 years ago

@rrovetto YES Is there anything for this this pull request that you object to?

lewismc commented 4 years ago

@graybeal

I can add <skos:historyNote> "Native curated definition by Semantic Harmonization team." to every instance of an existing owl:Class which maintains an skos:definition.

rrovetto commented 4 years ago

@graybeal I can add "Native curated definition by Semantic Harmonization team." to every instance of an existing owl:Class which maintains an skos:definition.

Isn't it the SWEET team? I thought the groups were distinct: SWEET team, and Semantic Harmonization team. The latter, for example, may having sub-teams on specific mappings to other external resources, whereas the former has a focus on SWEET itself.

lewismc commented 4 years ago

@rrovetto your quite right! Let me create a pull request and we can evaluate.