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

A suggested (human/machine-readable) way to specify a list of possible matching properties in the mapping #353

Open
bact opened this issue Feb 17, 2024 · 4 comments
Labels
discussion A discussion is still needed to analyze, resolve and implement

Comments

@bact
Copy link
Contributor

bact commented Feb 17, 2024

Some target schema has more than one property that can correspond to a property in CodeMeta.

Currently, it looks like a de facto way to do specify them in the mapping table is by putting them together in the same field and separated them by a forward slash (/).

For example:

  • CodeMeta property, Target: Target properties
  • codeRepository, DOAP: repository/location
  • codeRepository, Java (Maven): scm / repositories
  • codeRepository, Leiningen (Clojure): scm.name / scm.url
  • license, Cabal (Haskell): license / license-file / license-files
  • license, Citation File Format (1.2.0): license / license-url
  • description, Cabal (Haskell): synopsis / description
  • identifier, Citation File Format (1.2.0): identifiers / person.orcid / doi
  • softwareRequirements, NodeJS: dependencies / bundledDependencies / bundleDependencies / peerDependencies
  • softwareSuggestions, NodeJS: devDependencies / optionalDependencies
  • author, Ruby Gem: author/authors

But few others use a comma (,).

For example:

  • CodeMeta property, Target: Target properties
  • softwareRequirements, Rust Package Manager: dependencies, dev-dependencies, build-dependencies
  • softwareRequirements, Octave: Depends, SystemRequirements
  • softwareRequirements, R Package Description: Depends, SystemRequirements
  • softwareRequirements, Ruby Gem: requirements, add_runtime_dependency
  • softwareRequirements, Software Discovery Index: "Platform, environment, and dependencies"

(Ruby Gem uses both / and .)

There is also a use of or:

  • funding, OntoSoft: fundingReference.awardTitle or fundingReference.awardNumber

If we can settled down on one suggested way to put a list of possible corresponding properties, be it a / or a , or an or or something else, we may able put it to Contribution Guide (CONTRIBUTING.md).

@progval
Copy link
Member

progval commented Feb 17, 2024

codeRepository, DOAP: repository/location

actually that one, like other slashes without spaces, is XPath syntax. It means location value in repository value

@bact
Copy link
Contributor Author

bact commented Feb 17, 2024

codeRepository, DOAP: repository/location

actually that one, like other slashes without spaces, is XPath syntax. It means location value in repository value

Thank you. Maybe that's another reason we probably need some guideline on this. (and a case against the use of / as a separator?)

Also how to deal with such a path.

  • DOAP uses / (like in repository/location)
  • OntoSoft uses -> (hasDependency->Software)
  • R Package Description uses in ([aut] in Author)

@moranegg
Copy link
Contributor

For mappings improvement we started a discussion on: #336

An option is going towards a machine actionable format such as SSSOM (A Simple Standard for Sharing Ontology Mappings by Matentzoglu, Nicolas: https://mapping-commons.github.io/sssom/events/wsbo2021/)

I don't have THE answer, but it is a needed discussion.

@moranegg moranegg added the discussion A discussion is still needed to analyze, resolve and implement label Mar 21, 2024
@bact
Copy link
Contributor Author

bact commented Mar 23, 2024

codeRepository, DOAP: repository/location

actually that one, like other slashes without spaces, is XPath syntax. It means location value in repository value

Thank you. Maybe that's another reason we probably need some guideline on this. (and a case against the use of / as a separator?)

Also how to deal with such a path.

* DOAP uses `/` (like in `repository/location`)
* OntoSoft uses `->` (`hasDependency->Software`)
* R Package Description uses `in` (`[aut] in Author`)

I just realized that this case (thanks @progval) and #354 are the same matter, just on a different direction:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion A discussion is still needed to analyze, resolve and implement
Projects
None yet
Development

No branches or pull requests

3 participants