{"action":"created","issue":{"url":"https://api.github.com/repos/clulab/eidos/issues/278","repository_url":"https://api.github.com/repos/clulab/eidos","labels_url":"https://api.github.com/repos/clulab/eidos/issues/278/labels{/name}","comments_url":"https://api.github.com/repos/clulab/eidos/issues/278/comments","events_url":"https://api.github.com/repos/clulab/eidos/issues/278/events","html_url":"https://github.com/clulab/eidos/issues/278","id":313039015,"number":278,"title":"Extension of JSON-LD format to accommodate BBN data and our own future work","user":{"login":"kwalcock","id":8679738,"avatar_url":"https://avatars2.githubusercontent.com/u/8679738?v=4","gravatar_id":"","url":"https://api.github.com/users/kwalcock","html_url":"https://github.com/kwalcock","followers_url":"https://api.github.com/users/kwalcock/followers","following_url":"https://api.github.com/users/kwalcock/following{/other_user}","gists_url":"https://api.github.com/users/kwalcock/gists{/gist_id}","starred_url":"https://api.github.com/users/kwalcock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwalcock/subscriptions","organizations_url":"https://api.github.com/users/kwalcock/orgs","repos_url":"https://api.github.com/users/kwalcock/repos","events_url":"https://api.github.com/users/kwalcock/events{/privacy}","received_events_url":"https://api.github.com/users/kwalcock/received_events","type":"User","site_admin":false},"labels":[{"id":757201515,"url":"https://api.github.com/repos/clulab/eidos/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":{"login":"adarshp","id":653549,"avatar_url":"https://avatars0.githubusercontent.com/u/653549?v=4","gravatar_id":"","url":"https://api.github.com/users/adarshp","html_url":"https://github.com/adarshp","followers_url":"https://api.github.com/users/adarshp/followers","following_url":"https://api.github.com/users/adarshp/following{/other_user}","gists_url":"https://api.github.com/users/adarshp/gists{/gist_id}","starred_url":"https://api.github.com/users/adarshp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adarshp/subscriptions","organizations_url":"https://api.github.com/users/adarshp/orgs","repos_url":"https://api.github.com/users/adarshp/repos","events_url":"https://api.github.com/users/adarshp/events{/privacy}","received_events_url":"https://api.github.com/users/adarshp/received_events","type":"User","site_admin":false},"assignees":[{"login":"adarshp","id":653549,"avatar_url":"https://avatars0.githubusercontent.com/u/653549?v=4","gravatar_id":"","url":"https://api.github.com/users/adarshp","html_url":"https://github.com/adarshp","followers_url":"https://api.github.com/users/adarshp/followers","following_url":"https://api.github.com/users/adarshp/following{/other_user}","gists_url":"https://api.github.com/users/adarshp/gists{/gist_id}","starred_url":"https://api.github.com/users/adarshp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adarshp/subscriptions","organizations_url":"https://api.github.com/users/adarshp/orgs","repos_url":"https://api.github.com/users/adarshp/repos","events_url":"https://api.github.com/users/adarshp/events{/privacy}","received_events_url":"https://api.github.com/users/adarshp/received_events","type":"User","site_admin":false},{"login":"MihaiSurdeanu","id":1179342,"avatar_url":"https://avatars0.githubusercontent.com/u/1179342?v=4","gravatar_id":"","url":"https://api.github.com/users/MihaiSurdeanu","html_url":"https://github.com/MihaiSurdeanu","followers_url":"https://api.github.com/users/MihaiSurdeanu/followers","following_url":"https://api.github.com/users/MihaiSurdeanu/following{/other_user}","gists_url":"https://api.github.com/users/MihaiSurdeanu/gists{/gist_id}","starred_url":"https://api.github.com/users/MihaiSurdeanu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MihaiSurdeanu/subscriptions","organizations_url":"https://api.github.com/users/MihaiSurdeanu/orgs","repos_url":"https://api.github.com/users/MihaiSurdeanu/repos","events_url":"https://api.github.com/users/MihaiSurdeanu/events{/privacy}","received_events_url":"https://api.github.com/users/MihaiSurdeanu/received_events","type":"User","site_admin":false},{"login":"bsharpataz","id":5384073,"avatar_url":"https://avatars0.githubusercontent.com/u/5384073?v=4","gravatar_id":"","url":"https://api.github.com/users/bsharpataz","html_url":"https://github.com/bsharpataz","followers_url":"https://api.github.com/users/bsharpataz/followers","following_url":"https://api.github.com/users/bsharpataz/following{/other_user}","gists_url":"https://api.github.com/users/bsharpataz/gists{/gist_id}","starred_url":"https://api.github.com/users/bsharpataz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bsharpataz/subscriptions","organizations_url":"https://api.github.com/users/bsharpataz/orgs","repos_url":"https://api.github.com/users/bsharpataz/repos","events_url":"https://api.github.com/users/bsharpataz/events{/privacy}","received_events_url":"https://api.github.com/users/bsharpataz/received_events","type":"User","site_admin":false},{"login":"kwalcock","id":8679738,"avatar_url":"https://avatars2.githubusercontent.com/u/8679738?v=4","gravatar_id":"","url":"https://api.github.com/users/kwalcock","html_url":"https://github.com/kwalcock","followers_url":"https://api.github.com/users/kwalcock/followers","following_url":"https://api.github.com/users/kwalcock/following{/other_user}","gists_url":"https://api.github.com/users/kwalcock/gists{/gist_id}","starred_url":"https://api.github.com/users/kwalcock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kwalcock/subscriptions","organizations_url":"https://api.github.com/users/kwalcock/orgs","repos_url":"https://api.github.com/users/kwalcock/repos","events_url":"https://api.github.com/users/kwalcock/events{/privacy}","received_events_url":"https://api.github.com/users/kwalcock/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2018-04-10T18:27:48Z","updated_at":"2018-04-11T18:08:35Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Disclaimer: There are many ways to do this and picking one will likely involve unknown forces of subjectivity, intuition, and conjecture that won't match mine.  In other words, this may be totally off base.\r\n\r\nI'd like to divide the participants in our (binary) DirectedRelation and (binary) UndirectedRelation into essential and non-essential participants and not mix them.  This is so that the focus is clear and simple and not everyone is forced to deal with the non-essential.  This comes at the expense of needing different code to process the two types.\r\n\r\nIn the case of DirectedRelation, we have to somehow specify the two (sets of) participants and the direction.  Without these there just isn't a DirectedRelation.  These should be placed in unambiguous locations and not require extra reasoning to extract.  We have something called source and destination to fulfill these requirements.\r\n\r\nThe situation is then complicated by the fact that there may be different kinds of DirectedRelation.  We've been focussed on Causal, but there are more in our own pipeline and other groups will have theirs.  Right now we have some indication of the particular relationship in the labels field and less directly, a rule field.  The former contains a list for us and it is only by convention that someone would know that the first item is most specific.  It doesn't seem likely that all groups will have a list or a rule field.  I suggest a new field called relationName that specifies in a single string fit for human consumption the kind of DirectedRelation.\r\n\r\nEach kind relation may have special names for the participants that will help a human understand what is meant by the generic source and destination.  These might be used to label nodes even when the relationName is not recognized.  I'd call these sourceName and destinationName.\r\n\r\nIt is possible to store this information in many different ways, such as\r\nparticipants: [ { role: \"source\", name: \"cause\", value: \"lack of food\" }, { role: \"destination\", name: \"effect\", value: \"hunger\" } ]\r\nand I will suggest that for the non-essential participants that have more open class roles.  For the essential participants I think this complicates extraction of information such as the name of the destination.  Finding the answer requires a search through a list.\r\n\r\nThe non-essential participants, which may be thought of as modifying the main relationship in any of a myriad of ways (and drawn as such) need a field name.  Modifier and argument are already in use once, attachment is used in the program, but not JSON-LD.  A brainstorm of other names is pasted below.  I'd like to require that these non-essential participants be other instances of Entity, DirectedRelation, or UndirectedRelation and be included by reference.  They can be in charge of their own rules, triggers, labels, provenance, etc.  Other fields can be \"role\" for a formal, potentially standardized explanation of what the non-essential is doing there, and then \"name\" for a human friendly version, and lastly, \"value\".  \r\n\r\nHere is a simplified example:\r\n\r\nShe gave him a book yesterday at the library.  (This is an increase event.)\r\n\r\n{\r\n@type: \"DirectedRelation\",\r\ntrigger: { text : \"gave\" },\r\nrelationName : \"transfer\"\r\nsourceName : \"transferrer\",\r\ndestinationName: \"transferred\",\r\nsources : [ \"She\" ],\r\ndestinations : [ \"book, a\" ]\r\nrelatedItems : [ { role : \"indirectObject\", name : \"recipient\", value : \"him\" }, { role : \"time\", name : \"when\", value: \"yesterday\" }, { role: \"location\", name: \"where\", value: \"at the library\" } ]\r\n\r\nFor UndirectedRelation, I would add relationName and just argumentName, since there is no distinction between source and destination.  After that, the non-essential items can be added.\r\n\r\nBrainstorm: environment, details, observers, hangersOn, audience, players, relatedItems, relatedInfo, relatives, accomplices, helpers, cast, crew, costars, public, detours, waymarks, context, supportingRoles, supportingArguments, sidekicks, optional\r\n"},"comment":{"url":"https://api.github.com/repos/clulab/eidos/issues/comments/380544911","html_url":"https://github.com/clulab/eidos/issues/278#issuecomment-380544911","issue_url":"https://api.github.com/repos/clulab/eidos/issues/278","id":380544911,"user":{"login":"adarshp","id":653549,"avatar_url":"https://avatars0.githubusercontent.com/u/653549?v=4","gravatar_id":"","url":"https://api.github.com/users/adarshp","html_url":"https://github.com/adarshp","followers_url":"https://api.github.com/users/adarshp/followers","following_url":"https://api.github.com/users/adarshp/following{/other_user}","gists_url":"https://api.github.com/users/adarshp/gists{/gist_id}","starred_url":"https://api.github.com/users/adarshp/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adarshp/subscriptions","organizations_url":"https://api.github.com/users/adarshp/orgs","repos_url":"https://api.github.com/users/adarshp/repos","events_url":"https://api.github.com/users/adarshp/events{/privacy}","received_events_url":"https://api.github.com/users/adarshp/received_events","type":"User","site_admin":false},"created_at":"2018-04-11T18:08:35Z","updated_at":"2018-04-11T18:08:35Z","author_association":"MEMBER","body":"I agree with Mihai's suggestions. Since we are thinking of going to a 'hyperedge' representation, perhaps there should be a meta-label called **participants** at the same level as **@type**, which maps to a list. This would allow for arbitrary numbers of **agents** and **patients**."}}
{"actor":{"display_login":"adarshp"}}