Last updated 12-08-2022
The visualization tool is online at https://schemacuration.colorado.edu/ and the code is available at https://github.com/cu-clear/schema-interface.
The new schemas are under phase2b/new_scenarios
.
An example of schema curation is available under examples/
.
For curation, you will need to
- Check the events (add new events if neccesary)
- Check the temporal ordering
- Add entities (this is critical for schema matching)
Once you are satified with your schema,
- Upload the JSON file to
phase2b/curated
- Insert your slides to https://docs.google.com/presentation/d/1iVXa7qzK0fiOd7fAvF8XYI_SBaZ6ETycdm2QjJpm9AM/edit#slide=id.g1a0de8f47af_5_0
-
Check events and ordering. Upload your .json to the SCI, and write down any changes you wish to make in the event sequence on a notepad. Once you have an idea of these changes, feel free to append any missing events or container events to the event list. Modify outlinks and children until you are satisfied with the progression of the scenario.
-
Verify Qnode linking. Each primitive event is required to have the "wd_node" field and "participants" field. If you find an event that has an empty "wd_node" field or the "wd_node" seems wrong, you can use the grounding tool http://ec2-54-163-203-185.compute-1.amazonaws.com/grounding to assist you in finding an appropriate Qnode. Once you change the Qnode, use the XPO to find the arguments associated with the Qnode and fill in the "participants" field.
-
Add entities and link entities with participants. Within each event dropdown menu, I would recommend first checking the participants' list and adding entity @ids based on the relevant roleName, e.g., if you see an 'attacker' event that has an 'attacker' and 'victim' participant, search the XPO for the relevant wd_nodes and complete the entities, participants, and relations lists. To do this, in the JsonEditor, left-click the window icon (circled in coup_example.png) and Insert → auto to append an element of the outlinks or children list. To append participants, click Insert → participant. First, append any entities you might need in the entities list. Once you have filled out the name, wd_node, wd_label, and wd_description fields, create a unique entity identifier in the @id field. By default, each new entity will have @id: Entities/20000/. You can add +1 to each of these numbers after Entities/ to distinguish between unique entities, or even add a note after the second slash like so: Entities/20001/example . This is the same entity @id that you will want to link participants.
-
Add likelihood and importance if needed. Likelihood and Importance are fields that were not generated by our automatic schema curation pipeline, and they are not absolutely necessary for your schema. That being said, they are an excellent way to improve your schema. To do so, you will need to Insert a "likelihood" or "importance" object to the JSON editor on the right-hand side. This is done in the same way you would add an entity, event or relation (You'll see them on the same list). First, create a new container event to see an example of what this should look like as an appropriate field.In terms of calculating probability, I would recommend sticking to numbers divisible by five or ten. If the event is optional, use a low importance score to indicate it.
-
Save the schema. Be sure to download checkpoint schemas often-- click the download icon in the cloud next to the button where you uploaded your schema. Once you are satisfied with your schema, you can use the 'floppy disc save button' to capture images and prepare a PowerPoint slide deck showing each chapter event, primitive event, and their respective entities.
- Every event must have the "name", "@id", "description" field. Every primitive event (leaf node) must have "participants" and "wd_node".
- The participant "roleName" should come from the XPO overlay. This is usually filled in by the automatic schema induction algorithm. If the event is not in the xpo, you can try to find similar role names.
- The participant "entity" field should be cross-referred in the "entities" list.
- All "@id" fields contain an UNIQUE 5 digit id. Our convention is that events use "1XXXX", relations use "3XXXXX", entities use "0XXXX" and participants use "2XXXX". There is no relation between the participant id and the entity id.
- Temporal links are represented by "outlinks".
- Logical gates should be added sparingly. If you need to add a logical gate (for example XOR(A, B)) , you will need to first create a virtual container node C which has children A and B, then set the "children_gate" to "xor". The default value for "children_gate" is "or".
- The schema for each scenario should only have 1 root node (node without parent).