{"action":"created","comment":{"url":"https://api.github.com/repos/ontodev/robot/pulls/comments/238270544","pull_request_review_id":180759548,"id":238270544,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzODI3MDU0NA==","diff_hunk":"@@ -0,0 +1,146 @@\n+package org.obolibrary.robot;\n+\n+import java.io.File;\n+import java.io.Writer;\n+import java.nio.charset.StandardCharsets;\n+import java.nio.file.Files;\n+import java.util.Collections;\n+import java.util.Set;\n+import java.util.stream.Collectors;\n+import org.apache.commons.cli.CommandLine;\n+import org.apache.commons.cli.Options;\n+import org.semanticweb.owl.explanation.api.Explanation;\n+import org.semanticweb.owlapi.apibinding.OWLManager;\n+import org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxInlineAxiomParser;\n+import org.semanticweb.owlapi.model.IRI;\n+import org.semanticweb.owlapi.model.OWLAnnotationAssertionAxiom;\n+import org.semanticweb.owlapi.model.OWLAxiom;\n+import org.semanticweb.owlapi.model.OWLOntology;\n+import org.semanticweb.owlapi.reasoner.OWLReasonerFactory;\n+import org.semanticweb.owlapi.util.SimpleShortFormProvider;\n+import org.slf4j.Logger;\n+import org.slf4j.LoggerFactory;\n+\n+/**\n+ * Handles inputs and outputs for the {@link ExplainOperation}.\n+ *\n+ * @author <a href=\"mailto:balhoff@renci.org\">Jim Balhoff</a>\n+ */\n+public class ExplainCommand implements Command {\n+  /** Logger. */\n+  private static final Logger logger = LoggerFactory.getLogger(ExplainCommand.class);\n+\n+  /** Store the command-line options for the command. */\n+  private Options options;\n+\n+  public ExplainCommand() {\n+    Options o = CommandLineHelper.getCommonOptions();\n+    o.addOption(\"i\", \"input\", true, \"load ontology from a file\");\n+    o.addOption(\"I\", \"input-iri\", true, \"load ontology from an IRI\");\n+    o.addOption(\"r\", \"reasoner\", true, \"reasoner to use: ELK, HermiT, JFact\");\n+    o.addOption(\"a\", \"axiom\", true, \"the axiom to explain\");\n+    o.addOption(\"m\", \"max\", true, \"the maximum number of explanations to retrieve\");\n+    o.addOption(\"f\", \"format\", true, \"the explanation result format: MD, OFN, etc.\");\n+    o.addOption(\"o\", \"output\", true, \"save explanation to a file\");\n+    options = o;\n+  }\n+\n+  @Override\n+  public String getName() {\n+    return \"explain\";\n+  }\n+\n+  @Override\n+  public String getDescription() {\n+    return \"explain derivation of an inferred axiom\";\n+  }\n+\n+  @Override\n+  public String getUsage() {\n+    return \"robot explain --input <file> --reasoner <reasoner> --axiom <axiom> <output>\";\n+  }\n+\n+  @Override\n+  public Options getOptions() {\n+    return options;\n+  }\n+\n+  /**\n+   * Handle the command-line and file operations for the ExplainOperation.\n+   *\n+   * @param args strings to use as arguments\n+   */\n+  @Override\n+  public void main(String[] args) {\n+    try {\n+      execute(null, args);\n+    } catch (Exception e) {\n+      CommandLineHelper.handleException(e);\n+    }\n+  }\n+\n+  @Override\n+  public CommandState execute(CommandState state, String[] args) throws Exception {\n+    CommandLine line = CommandLineHelper.getCommandLine(getUsage(), getOptions(), args);\n+    if (line == null) {\n+      return null;\n+    }\n+    if (state == null) {\n+      state = new CommandState();\n+    }\n+    IOHelper ioHelper = CommandLineHelper.getIOHelper(line);\n+    state = CommandLineHelper.updateInputOntology(ioHelper, state, line);\n+    OWLOntology ontology = state.getOntology();\n+    QuotedEntityChecker checker = new QuotedEntityChecker();\n+    checker.setIOHelper(ioHelper);\n+    checker.addProvider(new SimpleShortFormProvider());\n+    checker.addProperty(OWLManager.getOWLDataFactory().getRDFSLabel());\n+    if (ontology != null) {","path":"robot-command/src/main/java/org/obolibrary/robot/ExplainCommand.java","position":98,"original_position":98,"commit_id":"a4f1fda8bb5f11029706c066e99ac3b17f1ac83c","original_commit_id":"a4f1fda8bb5f11029706c066e99ac3b17f1ac83c","user":{"login":"rctauber","id":16750150,"node_id":"MDQ6VXNlcjE2NzUwMTUw","avatar_url":"https://avatars1.githubusercontent.com/u/16750150?v=4","gravatar_id":"","url":"https://api.github.com/users/rctauber","html_url":"https://github.com/rctauber","followers_url":"https://api.github.com/users/rctauber/followers","following_url":"https://api.github.com/users/rctauber/following{/other_user}","gists_url":"https://api.github.com/users/rctauber/gists{/gist_id}","starred_url":"https://api.github.com/users/rctauber/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rctauber/subscriptions","organizations_url":"https://api.github.com/users/rctauber/orgs","repos_url":"https://api.github.com/users/rctauber/repos","events_url":"https://api.github.com/users/rctauber/events{/privacy}","received_events_url":"https://api.github.com/users/rctauber/received_events","type":"User","site_admin":false},"body":"Minor thing - this check is unnecessary; `ontology` will not be null as `CommandLineHelper.updateInputOntology(...)` throws an exception if `--input` is empty.","created_at":"2018-12-03T13:39:03Z","updated_at":"2018-12-03T13:55:00Z","html_url":"https://github.com/ontodev/robot/pull/354#discussion_r238270544","pull_request_url":"https://api.github.com/repos/ontodev/robot/pulls/354","author_association":"CONTRIBUTOR","_links":{"self":{"href":"https://api.github.com/repos/ontodev/robot/pulls/comments/238270544"},"html":{"href":"https://github.com/ontodev/robot/pull/354#discussion_r238270544"},"pull_request":{"href":"https://api.github.com/repos/ontodev/robot/pulls/354"}}},"pull_request":{"url":"https://api.github.com/repos/ontodev/robot/pulls/354","id":211613227,"node_id":"MDExOlB1bGxSZXF1ZXN0MjExNjEzMjI3","html_url":"https://github.com/ontodev/robot/pull/354","diff_url":"https://github.com/ontodev/robot/pull/354.diff","patch_url":"https://github.com/ontodev/robot/pull/354.patch","issue_url":"https://api.github.com/repos/ontodev/robot/issues/354","number":354,"state":"open","locked":false,"title":"Implemented 'explain' command with Markdown output.","user":{"login":"balhoff","id":210210,"node_id":"MDQ6VXNlcjIxMDIxMA==","avatar_url":"https://avatars1.githubusercontent.com/u/210210?v=4","gravatar_id":"","url":"https://api.github.com/users/balhoff","html_url":"https://github.com/balhoff","followers_url":"https://api.github.com/users/balhoff/followers","following_url":"https://api.github.com/users/balhoff/following{/other_user}","gists_url":"https://api.github.com/users/balhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/balhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balhoff/subscriptions","organizations_url":"https://api.github.com/users/balhoff/orgs","repos_url":"https://api.github.com/users/balhoff/repos","events_url":"https://api.github.com/users/balhoff/events{/privacy}","received_events_url":"https://api.github.com/users/balhoff/received_events","type":"User","site_admin":false},"body":"This is the beginning of an `explain` command. I'm opening a pull request to get feedback; it's not quite ready to merge. Example output:\r\n\r\n`robot explain -I 'http://purl.obolibrary.org/obo/pato.owl' -r ELK --axiom \"shape SubClassOf quality\" -o shape.md`\r\n\r\n## [shape](http://purl.obolibrary.org/obo/PATO_0000052) SubClassOf [quality](http://purl.obolibrary.org/obo/PATO_0000001) ##\r\n\r\n  - [shape](http://purl.obolibrary.org/obo/PATO_0000052) SubClassOf [morphology](http://purl.obolibrary.org/obo/PATO_0000051)\r\n    - [morphology](http://purl.obolibrary.org/obo/PATO_0000051) SubClassOf [physical object quality](http://purl.obolibrary.org/obo/PATO_0001241)\r\n      - [physical object quality](http://purl.obolibrary.org/obo/PATO_0001241) SubClassOf [quality](http://purl.obolibrary.org/obo/PATO_0000001)\r\n\r\n`robot explain -I 'http://purl.obolibrary.org/obo/uberon/ext.owl' -r ELK --axiom \"'uvular muscle' SubClassOf 'muscle organ' and 'part of' some 'jaw region'\" -o uvular_muscle.md`\r\n\r\n## [uvular muscle](http://purl.obolibrary.org/obo/UBERON_0010235) SubClassOf [muscle organ](http://purl.obolibrary.org/obo/UBERON_0001630) and ([part_of](http://purl.obolibrary.org/obo/BFO_0000050) some [jaw region](http://purl.obolibrary.org/obo/UBERON_0011595)) ##\r\n\r\n  - [uvular muscle](http://purl.obolibrary.org/obo/UBERON_0010235) SubClassOf [palatal muscle](http://purl.obolibrary.org/obo/UBERON_0003682)\r\n    - [palatal muscle](http://purl.obolibrary.org/obo/UBERON_0003682) EquivalentTo [skeletal muscle organ](http://purl.obolibrary.org/obo/UBERON_0014892) and ([part_of](http://purl.obolibrary.org/obo/BFO_0000050) some [soft palate](http://purl.obolibrary.org/obo/UBERON_0001733))\r\n      - [soft palate](http://purl.obolibrary.org/obo/UBERON_0001733) SubClassOf [part_of](http://purl.obolibrary.org/obo/BFO_0000050) some [secondary palate](http://purl.obolibrary.org/obo/UBERON_0001716)\r\n        - [secondary palate](http://purl.obolibrary.org/obo/UBERON_0001716) SubClassOf [part_of](http://purl.obolibrary.org/obo/BFO_0000050) some [upper jaw region](http://purl.obolibrary.org/obo/UBERON_0001709)\r\n          - [upper jaw region](http://purl.obolibrary.org/obo/UBERON_0001709) SubClassOf [part_of](http://purl.obolibrary.org/obo/BFO_0000050) some [jaw region](http://purl.obolibrary.org/obo/UBERON_0011595)\r\n      -  Transitive: [part_of](http://purl.obolibrary.org/obo/BFO_0000050)\r\n      - [skeletal muscle organ](http://purl.obolibrary.org/obo/UBERON_0014892) EquivalentTo [muscle organ](http://purl.obolibrary.org/obo/UBERON_0001630) and ([synapsed by](http://purl.obolibrary.org/obo/RO_0002103) some [motor neuron](http://purl.obolibrary.org/obo/CL_0000100)) and ([develops from](http://purl.obolibrary.org/obo/RO_0002202) some [myotome](http://purl.obolibrary.org/obo/UBERON_0003082)) and ([surrounded by](http://purl.obolibrary.org/obo/RO_0002219) some [epimysium](http://purl.obolibrary.org/obo/UBERON_0011899)) and ([composed primarily of](http://purl.obolibrary.org/obo/RO_0002473) some [skeletal muscle tissue](http://purl.obolibrary.org/obo/UBERON_0001134))","created_at":"2018-08-29T02:54:21Z","updated_at":"2018-12-03T13:54:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"563a5220c158f94c27bfa26d2d4171f525506222","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/ontodev/robot/pulls/354/commits","review_comments_url":"https://api.github.com/repos/ontodev/robot/pulls/354/comments","review_comment_url":"https://api.github.com/repos/ontodev/robot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ontodev/robot/issues/354/comments","statuses_url":"https://api.github.com/repos/ontodev/robot/statuses/a4f1fda8bb5f11029706c066e99ac3b17f1ac83c","head":{"label":"balhoff:explain","ref":"explain","sha":"a4f1fda8bb5f11029706c066e99ac3b17f1ac83c","user":{"login":"balhoff","id":210210,"node_id":"MDQ6VXNlcjIxMDIxMA==","avatar_url":"https://avatars1.githubusercontent.com/u/210210?v=4","gravatar_id":"","url":"https://api.github.com/users/balhoff","html_url":"https://github.com/balhoff","followers_url":"https://api.github.com/users/balhoff/followers","following_url":"https://api.github.com/users/balhoff/following{/other_user}","gists_url":"https://api.github.com/users/balhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/balhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balhoff/subscriptions","organizations_url":"https://api.github.com/users/balhoff/orgs","repos_url":"https://api.github.com/users/balhoff/repos","events_url":"https://api.github.com/users/balhoff/events{/privacy}","received_events_url":"https://api.github.com/users/balhoff/received_events","type":"User","site_admin":false},"repo":{"id":70268109,"node_id":"MDEwOlJlcG9zaXRvcnk3MDI2ODEwOQ==","name":"robot","full_name":"balhoff/robot","private":false,"owner":{"login":"balhoff","id":210210,"node_id":"MDQ6VXNlcjIxMDIxMA==","avatar_url":"https://avatars1.githubusercontent.com/u/210210?v=4","gravatar_id":"","url":"https://api.github.com/users/balhoff","html_url":"https://github.com/balhoff","followers_url":"https://api.github.com/users/balhoff/followers","following_url":"https://api.github.com/users/balhoff/following{/other_user}","gists_url":"https://api.github.com/users/balhoff/gists{/gist_id}","starred_url":"https://api.github.com/users/balhoff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balhoff/subscriptions","organizations_url":"https://api.github.com/users/balhoff/orgs","repos_url":"https://api.github.com/users/balhoff/repos","events_url":"https://api.github.com/users/balhoff/events{/privacy}","received_events_url":"https://api.github.com/users/balhoff/received_events","type":"User","site_admin":false},"html_url":"https://github.com/balhoff/robot","description":"ROBOT is an OBO Tool","fork":true,"url":"https://api.github.com/repos/balhoff/robot","forks_url":"https://api.github.com/repos/balhoff/robot/forks","keys_url":"https://api.github.com/repos/balhoff/robot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/balhoff/robot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/balhoff/robot/teams","hooks_url":"https://api.github.com/repos/balhoff/robot/hooks","issue_events_url":"https://api.github.com/repos/balhoff/robot/issues/events{/number}","events_url":"https://api.github.com/repos/balhoff/robot/events","assignees_url":"https://api.github.com/repos/balhoff/robot/assignees{/user}","branches_url":"https://api.github.com/repos/balhoff/robot/branches{/branch}","tags_url":"https://api.github.com/repos/balhoff/robot/tags","blobs_url":"https://api.github.com/repos/balhoff/robot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/balhoff/robot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/balhoff/robot/git/refs{/sha}","trees_url":"https://api.github.com/repos/balhoff/robot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/balhoff/robot/statuses/{sha}","languages_url":"https://api.github.com/repos/balhoff/robot/languages","stargazers_url":"https://api.github.com/repos/balhoff/robot/stargazers","contributors_url":"https://api.github.com/repos/balhoff/robot/contributors","subscribers_url":"https://api.github.com/repos/balhoff/robot/subscribers","subscription_url":"https://api.github.com/repos/balhoff/robot/subscription","commits_url":"https://api.github.com/repos/balhoff/robot/commits{/sha}","git_commits_url":"https://api.github.com/repos/balhoff/robot/git/commits{/sha}","comments_url":"https://api.github.com/repos/balhoff/robot/comments{/number}","issue_comment_url":"https://api.github.com/repos/balhoff/robot/issues/comments{/number}","contents_url":"https://api.github.com/repos/balhoff/robot/contents/{+path}","compare_url":"https://api.github.com/repos/balhoff/robot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/balhoff/robot/merges","archive_url":"https://api.github.com/repos/balhoff/robot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/balhoff/robot/downloads","issues_url":"https://api.github.com/repos/balhoff/robot/issues{/number}","pulls_url":"https://api.github.com/repos/balhoff/robot/pulls{/number}","milestones_url":"https://api.github.com/repos/balhoff/robot/milestones{/number}","notifications_url":"https://api.github.com/repos/balhoff/robot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/balhoff/robot/labels{/name}","releases_url":"https://api.github.com/repos/balhoff/robot/releases{/id}","deployments_url":"https://api.github.com/repos/balhoff/robot/deployments","created_at":"2016-10-07T17:25:30Z","updated_at":"2016-10-07T17:25:31Z","pushed_at":"2018-11-28T03:35:06Z","git_url":"git://github.com/balhoff/robot.git","ssh_url":"git@github.com:balhoff/robot.git","clone_url":"https://github.com/balhoff/robot.git","svn_url":"https://github.com/balhoff/robot","homepage":"","size":2237,"stargazers_count":0,"watchers_count":0,"language":"Web Ontology Language","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"ontodev:master","ref":"master","sha":"590543984345468b62cfc463a9a639f5cfac54c6","user":{"login":"ontodev","id":2249865,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDk4NjU=","avatar_url":"https://avatars2.githubusercontent.com/u/2249865?v=4","gravatar_id":"","url":"https://api.github.com/users/ontodev","html_url":"https://github.com/ontodev","followers_url":"https://api.github.com/users/ontodev/followers","following_url":"https://api.github.com/users/ontodev/following{/other_user}","gists_url":"https://api.github.com/users/ontodev/gists{/gist_id}","starred_url":"https://api.github.com/users/ontodev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ontodev/subscriptions","organizations_url":"https://api.github.com/users/ontodev/orgs","repos_url":"https://api.github.com/users/ontodev/repos","events_url":"https://api.github.com/users/ontodev/events{/privacy}","received_events_url":"https://api.github.com/users/ontodev/received_events","type":"Organization","site_admin":false},"repo":{"id":30124869,"node_id":"MDEwOlJlcG9zaXRvcnkzMDEyNDg2OQ==","name":"robot","full_name":"ontodev/robot","private":false,"owner":{"login":"ontodev","id":2249865,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNDk4NjU=","avatar_url":"https://avatars2.githubusercontent.com/u/2249865?v=4","gravatar_id":"","url":"https://api.github.com/users/ontodev","html_url":"https://github.com/ontodev","followers_url":"https://api.github.com/users/ontodev/followers","following_url":"https://api.github.com/users/ontodev/following{/other_user}","gists_url":"https://api.github.com/users/ontodev/gists{/gist_id}","starred_url":"https://api.github.com/users/ontodev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ontodev/subscriptions","organizations_url":"https://api.github.com/users/ontodev/orgs","repos_url":"https://api.github.com/users/ontodev/repos","events_url":"https://api.github.com/users/ontodev/events{/privacy}","received_events_url":"https://api.github.com/users/ontodev/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/ontodev/robot","description":"ROBOT is an OBO Tool","fork":false,"url":"https://api.github.com/repos/ontodev/robot","forks_url":"https://api.github.com/repos/ontodev/robot/forks","keys_url":"https://api.github.com/repos/ontodev/robot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ontodev/robot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ontodev/robot/teams","hooks_url":"https://api.github.com/repos/ontodev/robot/hooks","issue_events_url":"https://api.github.com/repos/ontodev/robot/issues/events{/number}","events_url":"https://api.github.com/repos/ontodev/robot/events","assignees_url":"https://api.github.com/repos/ontodev/robot/assignees{/user}","branches_url":"https://api.github.com/repos/ontodev/robot/branches{/branch}","tags_url":"https://api.github.com/repos/ontodev/robot/tags","blobs_url":"https://api.github.com/repos/ontodev/robot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ontodev/robot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ontodev/robot/git/refs{/sha}","trees_url":"https://api.github.com/repos/ontodev/robot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ontodev/robot/statuses/{sha}","languages_url":"https://api.github.com/repos/ontodev/robot/languages","stargazers_url":"https://api.github.com/repos/ontodev/robot/stargazers","contributors_url":"https://api.github.com/repos/ontodev/robot/contributors","subscribers_url":"https://api.github.com/repos/ontodev/robot/subscribers","subscription_url":"https://api.github.com/repos/ontodev/robot/subscription","commits_url":"https://api.github.com/repos/ontodev/robot/commits{/sha}","git_commits_url":"https://api.github.com/repos/ontodev/robot/git/commits{/sha}","comments_url":"https://api.github.com/repos/ontodev/robot/comments{/number}","issue_comment_url":"https://api.github.com/repos/ontodev/robot/issues/comments{/number}","contents_url":"https://api.github.com/repos/ontodev/robot/contents/{+path}","compare_url":"https://api.github.com/repos/ontodev/robot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ontodev/robot/merges","archive_url":"https://api.github.com/repos/ontodev/robot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ontodev/robot/downloads","issues_url":"https://api.github.com/repos/ontodev/robot/issues{/number}","pulls_url":"https://api.github.com/repos/ontodev/robot/pulls{/number}","milestones_url":"https://api.github.com/repos/ontodev/robot/milestones{/number}","notifications_url":"https://api.github.com/repos/ontodev/robot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ontodev/robot/labels{/name}","releases_url":"https://api.github.com/repos/ontodev/robot/releases{/id}","deployments_url":"https://api.github.com/repos/ontodev/robot/deployments","created_at":"2015-01-31T20:16:09Z","updated_at":"2018-11-20T13:31:59Z","pushed_at":"2018-11-28T03:35:08Z","git_url":"git://github.com/ontodev/robot.git","ssh_url":"git@github.com:ontodev/robot.git","clone_url":"https://github.com/ontodev/robot.git","svn_url":"https://github.com/ontodev/robot","homepage":"http://robot.obolibrary.org","size":2213,"stargazers_count":51,"watchers_count":51,"language":"Java","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":29,"mirror_url":null,"archived":false,"open_issues_count":92,"license":{"key":"bsd-3-clause","name":"BSD 3-Clause \"New\" or \"Revised\" License","spdx_id":"BSD-3-Clause","url":"https://api.github.com/licenses/bsd-3-clause","node_id":"MDc6TGljZW5zZTU="},"forks":29,"open_issues":92,"watchers":51,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ontodev/robot/pulls/354"},"html":{"href":"https://github.com/ontodev/robot/pull/354"},"issue":{"href":"https://api.github.com/repos/ontodev/robot/issues/354"},"comments":{"href":"https://api.github.com/repos/ontodev/robot/issues/354/comments"},"review_comments":{"href":"https://api.github.com/repos/ontodev/robot/pulls/354/comments"},"review_comment":{"href":"https://api.github.com/repos/ontodev/robot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ontodev/robot/pulls/354/commits"},"statuses":{"href":"https://api.github.com/repos/ontodev/robot/statuses/a4f1fda8bb5f11029706c066e99ac3b17f1ac83c"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"rctauber"}}