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

Proposal: rename project from biolinkml to something non-biological #94

Closed
cmungall opened this issue Dec 10, 2020 · 21 comments
Closed

Comments

@cmungall
Copy link
Member

A lot of people are confused about the distinction between biolinkml and biolink. Also from a marketing perspective, biolinkml can be used for anything, there is nothing biology-specific.

  1. Decide if renaming is worth the churn
  2. decide on a cool new name
  3. manage the renaming process

For 1, we can have an initial discussion here, and then collect votes if necessary

I have no ideas for 2, I have a history of bad names. I don't know if we need an initialization/acronym. A requirement is that it should be fairly googleable, it should be possible to make a nice name for pypi/python modules

For 3, We would register a new w3id. I think we would rename the github repo to preserve history. We would do a search and replace in this repo.

we would keep biolinkml in pypi indefinitely, and the w3id urls, and the existing docs, projects could switch to the new name at their leisure to minimize disruption. I think work on the biolinkml branch would freeze. We could provide tips for people to migrate. This is mostly

  • requirements.txt or similar
  • prefix declaration
  • imports of biolinkml:types

in fact we could continue to support the biolinkml prefix even with the new package

Anyone should feel free to state their opinion on 1 and 2 below, just information gathering for now

@hsolbrig
Copy link
Contributor

I have no problem with renaming. I picked biolinkml when we separated the language and the actual model.

Note, also, that biolinkml is in the perma-id space - https://github.com/perma-id/w3id.org/tree/master/biolink. We'd have to decide what to do with the namespace, which can be separated from the project and github name.

@mellybelly
Copy link

I like the idea of renaming. I find it confusing too, also there are a lot of different short forms /acronyms and I can't always tell if we are talking about the language or the model.

@cmungall
Copy link
Member Author

@hsolbrig I think we could keep the namespace forever, but have it be deprecated, with soft links to the new one

@nlharris
Copy link
Contributor

i was confused by the name biolinkml (i initially misparsed it as biolinkxml) but you're right that there's always overhead in changing a name (or even changing a capitalization, like BioLink -> Biolink). i have no strong opinion but will be interested to see what is decided.

@matentzn
Copy link
Contributor

One obvious first suggestion would be simply linkml (which sounds cropped now to our ears but I am sure you could get used to it).

@hsolbrig
Copy link
Contributor

I think it might be worth a short FTF discussion on on people's view of the tool's intended purpose. "ML" could stand for "Markup Language" as it is used in YAML or "Modeling Language" as it is used in UML. As it exists today, we can (or could) emit model definitions in a number of languages. That said, I don't think that our goal is to create YAUML.

My own goal with the language is to develop a data transformation tool -- something that takes data instances represented in terms of a particular structure and transforms them into semantically equivalent (or similar?) instances in other paradigms, with a strong focus on semantics. In particular, I want to be able to transform between (to AND from) conforming JSON or YAML model instance and their RDF, OWL, and GraphQL equivalents -- which also means being able to define those equivalents.

The focus on Python being at the center of these transformations probably needs to be taken into account as well -- while there is nothing to preclude Java or Kotlin or ? mappings per-se, useful mappings to other target programming languages could be a bigger task than I would wish to undertake. (To be clear, there is no issue w/ mapping to and from Java or Haskel or ... but when you got there you would just have data, not the full set of capabilities that biolinkml python provides...)

I believe that we have demonstrated its viability in the "meta" space. Today we are able to use BiolinkML to transform meta model instances TO a variety of target paradigms (YAML, Python, JSON, RDF, OWL, GraphQL, MarkDown, ShEx, ...). There have been calls for transformations FROM other paradigms and, while we will undoubtedly uncover issues, we believe that this is doable and the task is not huge.

The real proof, however, is the transformation of other models, Biolink-Model being the primary example.


So - long and short of it is that the artist formally known as BiolinkML is neither a modeling nor a markup language -- it is closer to a language for defining (semantic ?) transformations.

@RichardBruskiewich
Copy link
Contributor

...I have no ideas for 2, I have a history of bad names...

@cmungall, I thought that Chado was a cool name that you invented, right?

@RichardBruskiewich
Copy link
Contributor

What about "TRANsform Semantic Object Model" (TRANSOM)?

@mellybelly
Copy link

I like TRANSOM! It has multiple meanings to holding things up, illuminating things, cross-cutting things:
the window over a door to let light through, or the transverse beams secured to the sternpost of a boat. That said there are also gallows uses...

@cmungall
Copy link
Member Author

It was actually Dave Emmert that came up with the name for Chado. He was very into tea. We came up with the schema backbone after drinking copious amounts of it, in special mugs he had made himself :-)

@mellybelly
Copy link

are you suggesting that the only way to come up with a new name is a lot of beverage? ;-)

@hsolbrig
Copy link
Contributor

Not sure I'm that happy w/ Transom -- it loses the essence of its purpose which is a Modeling Language for Biomedical Linked Data. LinkML (we could publish it as BioLinkML -- "Its not just for biology any more") or LDML are a bit more appealing, but, being short acronyms, tend to clash with a lot of existing things. Just brainstorming - SOML(Semantic Object Model Modeling Language) -- we could then call one of the implementations or tools SOMLier. Without even checking for clashes, SMoL (Let's get SMoL!), SMLT (Semantic Modeling Language Toolkit)...

I propose we brew up a gallon of tea and no one leaves the terminal until the acronym arrives...

@mellybelly
Copy link

I'm ok with LinkML, it is has extraordinary advantage of being the least confusing rename. hopefully doesn't imply only semweb relevant though?

Tea, can it be green with sticks in it ?

@RichardBruskiewich
Copy link
Contributor

Hi @hsolbrig, I got the impression that you emphasized "semantic transformation" and were less keen about "Yet Another Modelling Language" branding...

TRANSOM Language (TRANSOML), LOL?

I personally find unpronounceable acroynms less digestible, so a few vowels help, SOML or SMoL get a bit closer to that spirit, rather than SMLT... although the latter could expand a bit to SeMoLT (sounds a bit like the project is metaphorphosing... Molting off its old image, LOL.

Harold, largely your baby, call it what you wish (sincerely...) I just found this issue as an excuse for some imaginary naming brainstorming, LOL.

@hsolbrig
Copy link
Contributor

Ha! Someone just left this baby on my doorstep.... I'm just raising it.

@cmungall
Copy link
Member Author

cmungall commented Jan 4, 2021

@hsolbrig and I are favoring linkML

@RichardBruskiewich
Copy link
Contributor

So be it. Your call!

@noelmcloughlin
Copy link
Contributor

noelmcloughlin commented Feb 17, 2021

I'm from another paradigm, computer science, but I think linkML would be fine. I'm interested in the discipline popularly called "infrastructure as code" (IaaC), where configuration management frameworks consume artifacts, typically YAML, and produce, and possibly enforce, the desired system state. There are hundreds of ways to model a component, so I'm always experimenting with new approaches to System Modeling which can bridge my professional employment and Open Source interests - where the need for Model-Driven solutions is a current pressing issue for me. I came across the biolink-model while searching for ideas which I could potentially reuse.

BiolinkML seems to be capable of modeling some of the domains I'm interested - non-biological paradigms.

To investigate that, I forked and mapped biolink-model, into the abstract computer science paradigm using a naive process of philosophical concept transformation (see https://csolink.github.io/csolink-model ). Its just an experiment but I'm thinking of proposing BiolinkML to my peers in https://sodafoundation.io/ to address increasing complexity and rising technical debt. Feel free to ping me if my work is of interest. I think biolinkML is worth further exploration (in my domain). thanks.

P.S. the biomedical to cyber-systems transformation dictionary I followed is here: https://github.com/csolink/csolink-model/blob/c837c579170002a28fca53c7512a701e26663201/csolink-model.yaml#L12 Please be gentle ;-)

@nlharris
Copy link
Contributor

Thanks for sharing that, @noelmcloughlin! And thank you for your commitment to Open Source!

@cmungall
Copy link
Member Author

@noelmcloughlin - just saw this -- this is awesome!! definitely interested in talking. I don't always see github notifications you can email me cjmungall AT lbl.gov

@hsolbrig hsolbrig transferred this issue from biolink/biolinkml Mar 25, 2021
@nlharris
Copy link
Contributor

since the renaming has already been decided, can we close this ticket, or are there still things to be accomplished as part of the rename? if the latter, a checklist of remaining tasks might be helpful.

cmungall added a commit to INCATools/kgcl-rdflib that referenced this issue Mar 30, 2021
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

7 participants