Giter Site home page Giter Site logo

ontobot-change-agent's Introduction

ontobot-change-agent's People

Contributors

hrshdhgd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

nlharris

ontobot-change-agent's Issues

CL:kgcl-java commands

Hey ontobot, apply:

  • create class CL:00000099999999 'ABCD'
  • add definition 'new definition ABCD' to CL:00000099999999
  • create synonym 'ABCD1' for CL:00000099999999
  • create exact synonym 'ABCD2' for CL:00000099999999
  • create broad synonym 'ABCD3' for CL:00000099999999
  • create narrow synonym 'ABCD4' for CL:00000099999999
  • create related synonym 'ABCD5' for CL:00000099999999
  • obsolete CL:0000001
  • obsolete CL:0000002 with replacement CL:000000X
  • obsolete CL:0000002 with alternative CL:000000X, CL:000000Y
  • rename CL:0000010 from 'cultured cell' to 'cultured cell ABCD'
  • remove synonym 'neuronal receptor cell (sensu Animalia)' for CL:0000006
  • change synonym from 'cell in vivo' to 'cell in vivo ABCD' for CL:0000003
  • create edge CL:00000099999999 rdfs:subClassOf CL:0000001

Fbbt:Obsolete term

Hey ontobot! apply:

  • obsolete FBbt:00004752 with replacement FBbt:00004754

FbBT: Add definition

Hey ontobot, apply:

  • add definition 'This is a dummy description.' to FBbt:00000017

Ontobot does not detect the `ontobot apply` pattern if it is not on the first line of the issue’s body

The Ontobot is enabled on the Uberon repository, but if failed to create a PR on the following issue: obophenotype/uberon#3158

The workflow was successfully triggered but Ontobot wrongly concluded that the issue “doesn’t need ontobot’s attention”.

I believe this is because of this regex matching attempt here:

elif re.match(r"(.*)ontobot(.*)apply(.*):(.*)", issue[BODY]):

By default the . character does not match newline characters, so the regex can only detect the pattern if ontobot, apply, and : all appears on the first line of the body. The DOTALL flag should be used to allow . to match newline characters:

elif re.match(r"(.*)ontobot(.*)apply(.*):(.*)", issue[BODY], re.DOTALL):

ontobot-change-agent should allow using the plugin version of KGCL-Java

The ontobot-change-agent can optionally work by delegating the task of actually modifying the ontology to KGCL-Java (if a Jar archive is specified using the --jar-path option).

Currently, it requires that the Jar archive be a customised full version of ROBOT in which the apply command is “built-in”. Such a version of ROBOT can be found in the KGCL-Java releases. It used to be the only way to use the apply command, when ROBOT had no support for plugins.

Now, since version 1.9.5, ROBOT does support plugins, so it would be nice if ontobot-change-agent could exploit that. After all, the ODK already provides ROBOT, so it’s a bit of a shame that one must download another version of ROBOT (nearly ~90 MB) just to be able to use the apply command.

What I would suggest is for ontobot-change-agent to support being used in two different ways:

  1. The first way is the current one: the user provides the path to the ROBOT archive to be used, and ontobot-change-agent simply uses that archive as it is.

  2. In the second way, the user provides the name under which the KGCL plugin is available, and ontobot-change-agent then simply invokes ROBOT and instructs it to use that plugin. That is, if the user indicates (e.g. through a new command line option) that the KGCL plugin is available on his system under the name kgcl, then ontobot-change-agent executes the following command:

robot kgcl:apply -i <input_file> -k <KGCL_command> convert -f ofn -o <output_file>

instead of

java -jar <jar_path> apply -i <input_file> ...

Fbbt:Deepen request

Hey ontobot, apply:

  • deepen FBbt:00004895 from FBbt:00048491 to FBbt:00048550

New Request

I request the following changes to ontology ABCD:

  • obsolete ABCD:1234
  • create synonym "abcd not defghhs" for ABCD:234
  • Yeah

Abcd

Request dfjkdsbvudfhdjbhdf

New body format test

Lorem ipsum dolor sit amet. Sit quis alias et mollitia itaque ab eaque perspiciatis ut exercitationem natus est molestias quia ea velit ipsum qui dolores ratione. Aut nobis totam aut nemo esse et asperiores ipsam in maxime internos sed tempore earum ut voluptatem omnis.

Hey ontobot! apply the following:

  • rename FBbt:00004750 from 'wing septum 2' to 'wing septum 2 ABCD'
  • rename FBbt:00004751 from 'wing vein' to 'wing vein ABCD'

Cum consequatur earum qui illum possimus a debitis officia ex ipsam enim nobis dolores 33 consectetur aliquam. Et dolorum esse aut culpa blanditiis in sint amet ad quis veniam nam officiis cumque eum odio provident.

Make ontobot easier to debug

I frequently forget to RTD and get the invocation syntax wrong. I don't see a PR and don't know how to debug.

We should make the regex more inclusive. If in the rare situation someone does an accidental "hey siri" type situation the worst that will happen is that OCA will not know how to interpret the full message.

I feel there are other situations where I make mistakes and OCA is silent, I don't recall precisely, sorry, but in general if it could be more chatty

Add workflow for making a PR based on user filing issues

We can copy what Charlie did here:

https://github.com/biopragmatics/bioregistry/blob/main/.github/workflows/new_prefix_pr.yml

This triggers:

https://github.com/biopragmatics/bioregistry/blob/main/src/bioregistry/gh/new_prefix.py

  • user submits an issue using KCDL DSL
  • gh action periodically runs ocrawl (analogous to new_prefix_pr.yml)
  • ocrawl executes changes and modifies the src ontology file (analogous to new_prefix.py)
  • make a PR (covered in the workflow above)

Request

I request the following changes to ontology ABCD:

  • obsolete ABCD:1234
  • create synonym "abcd not defghhs" for ABCD:234
  • Yeah

New body format test without ending `---`

Hey ontobot! apply the following:

  • rename FBbt:00004750 from 'wing septum 2' to 'wing septum 2 ABCD'
  • rename FBbt:00004751 from 'wing vein' to 'wing vein ABCD'

test comment

FbBT: Update definition

Hey ontobot, apply:

  • change definition of FBbt:00000001 to 'member of species Drosophila melanogaster.'

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.