Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
 "associations": [
        {
            "entity1": "theft,2",
            "entity1_index": "theft,2/criminalactivity",
            "verb": "reported",
            "verb_category": "crime",
            "time_start": "2011-01-29T00:00:00",
            "geotag": {
                "lat": 38.9099278028729,
                "lon": -77.0436067765966
            },
            "assoc_type": "Summary"
        }
 

...

iterateOver

...

The following code example is used to process email communication between two parties.  The association between the two entities is formed by iterating over the metadata object: "email_meta.Message-To"

...

TODO: have a single entity version (after meta/before multi)

here's an example config element

Code Block
            {
"associations": [               "assoc_type": "Event",
{                     "assoc_type": "Event",
                    "entity1"entity1": "$SCRIPT( return _doc.metadata._FILE_METADATA_eventtype[0].metadata.Author[0]; )",
   
                "entity2": "$SCRIPT(return _value;)VictimType",
                    "iterateOver": "email_meta.Message-Toentity2/dummy",
   
                "timeverb_startcategory": "$SCRIPT( return _doc.publishedDate;)",suffered"
            },

here's some example entities,

Code Block
      "verbentities": "emailed",[
        {
            "verbactual_categoryname": "emailed/communicated"
    Targeted, Paramilitary/Private Security, Adult, Tribal from Pakistan",
           } "dimension": "Who",
          ]  "disambiguated_name": "Targeted, Paramilitary/Private Security, Adult, Tribal  }

Output:

The output displays the association between the sender and receiver in the email correspondence.

Code Block
 ]from Pakistan",
    "associations": [       "doccount": 0,
{             "entity1frequency": "cara.semperger@enron.com"3,
            "entity1_index": "cara.semperger@enron.com/accounttargeted, paramilitary/private security, adult, tribal from pakistan/victimtype",
            "verbrelevance": "emailed"0,
            "verb_categorytotalfrequency": "emailed/communicated"-1,
            "entity2type": "will.smith@enron.com",VictimType"
        },
      "entity2_index": "will.smith@enron.com/account",  {
            "timeactual_startname": "2001-07-09T14:33:32Targeted, Non Official Public Figure, Adult, Tribal from Pakistan",
            "assoc_typedimension": "EventWho",
        }     ],

 

...

Multiplicative association are associations that are created by "multiplying" a combination of entities, locations, and times together to determine the number of associations to extract from the source data.

In the example, a perpetrator (Sunni Islamic Extremist) attacked multiple types of victims (an adult and a child) in Sri Lanka.

The association specification uses the multiplicative format to create events using the following math to determine the total number of associations: Entity1 (Person Perpetrator) * Entity2 (Victim Type) * Geo_index (Location) = Total Number of Associations.

 

Code Block
}"disambiguated_name": "Targeted, Non Official Public Figure, Adult, Tribal from Pakistan",
            "doccount": 0,
            "frequency": 1,
  {          "index": "targeted, non official public figure, adult, tribal from pakistan/victimtype",
  "creationCriteriaScript": "$FUNC( isOrganizationSpecified(); )",       "relevance": 0,
            "entity1totalfrequency": "Organization"-1,
            "type": "VictimType"
      "entity2": "FacilityType",  },
        {
            "geoactual_indexname": "Location"Targeted, Civilian, Adult, Tribal from Pakistan",
               "iterateOverdimension": "entity1/entity2/geo_indexWho",
                    "time_start"disambiguated_name": "$SCRIPT( return _doc.metadata.incidentdate[0]; )",
  Targeted, Civilian, Adult, Tribal from Pakistan",
                 "verbdoccount": "attacked",
      0,
             "verb_categoryfrequency": "assault/attack"2,
            "index": "targeted, civilian,  }adult, tribal from pakistan/victimtype",
             {"relevance": 0,
            "totalfrequency": -1,
      "creationCriteriaScript": "$FUNC( isOrganizationSpecified(); )",   "type": "VictimType"
        },

Generates output:

Code Block
{
     "entity1associations": "Organization",[
        {
            "entity2assoc_type": "VictimTypeEvent",
            "entity1": "Armed Attack",
      "geo      "entity1_index": "Locationarmed attack/eventtype",
                    "iterateOver""entity2": "entity1/entity2/geo_index"targeted, paramilitary/private security, adult, tribal from   pakistan",
            "timeentity2_startindex": "$SCRIPT( return _doc.metadata.incidentdate[0]; )",
     targeted, paramilitary/private security, adult, tribal from pakistan/victimtype",
              "verb": "attackedsuffered",
                    "verb_category": "assault/attacksuffered"
                }},
         {
      {        "assoc_type": "Event",
            "creationCriteriaScriptentity1": "$FUNC( isOrganizationSpecified(); )Armed Attack",
 
                  "entity1_index": "Organizationarmed attack/eventtype",
       
            "entity2": "HostageType"targeted, non official public figure, adult, tribal from pakistan",
            "geoentity2_index": "Location"targeted, non official public figure, adult, tribal from pakistan/victimtype",
            "iterateOververb": "entity1/entity2/geo_indexsuffered",
            "verb_category": "suffered"
      "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )",},
        {
             "verbassoc_type": "took hostageEvent",
            "entity1": "Armed Attack",
      "verb_category      "entity1_index": "assaultarmed attack/attackeventtype",
                },
     "entity2": "targeted, civilian, adult, tribal from pakistan",
            "entity2_index": "targeted, civilian, adult, tribal from pakistan/victimtype",
            "verb": "suffered",
            "verb_category": "suffered"
        },

 

Anchor
metadata
metadata
iterateOver a Metadata Field

The following code example is used to process email communication between two parties.  The association between the two entities is formed by iterating over the metadata object: "email_meta.Message-To"

Code Block
{
            "associations": [
                {
                    "assoc_type": "Event",
                    "entity1": "$SCRIPT( return _doc.metadata._FILE_METADATA_[0].metadata.Author[0];)",
                    "entity2": "$SCRIPT(return _value;)",
                    "iterateOver": "email_meta.Message-To",
                    "time_start": "$SCRIPT( return _doc.publishedDate;)",
                    "verb": "emailed",
                    "verb_category": "emailed/communicated"
                }
            ]
        }

TODO: show metadata

Output:

The output displays the association between the sender and receiver in the email correspondence.

Code Block
    "associations": [
        {
            "entity1": "cara.semperger@enron.com",
            "entity1_index": "cara.semperger@enron.com/account",
            "verb": "emailed",
            "verb_category": "emailed/communicated",
            "entity2": "will.smith@enron.com",
            "entity2_index": "will.smith@enron.com/account",
            "time_start": "2001-07-09T14:33:32",
            "assoc_type": "Event"
        }
    ],

 

Anchor
multi
multi
Multiplicative

Multiplicative association are associations that are created by "multiplying" a combination of entities, locations, and times together to determine the number of associations to extract from the source data.

In the example, a perpetrator (Sunni Islamic Extremist) attacked multiple types of victims (an adult and a child) in Sri Lanka.

The association specification uses the multiplicative format to create events using the following math to determine the total number of associations: Entity1 (Person Perpetrator) * Entity2 (Victim Type) * Geo_index (Location) = Total Number of Associations.

 

Code Block
               {
   
                "creationCriteriaScript": "$SCRIPT$FUNC( if (isOrganizationSpecified() == false) return true; )",
                    "entity1": "PersonPerpetrator",
                    "entity2": "FacilityType",
   Organization",
                "geo_indexentity2": "LocationVictimType",
  
                 "iterateOver": "entity1/entity2/geo_index",
                    "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )",
                "verb": "attacked",
                "verb_category": "attacked", "assault/attack"
            },

On the following set of entities:

Code Block
    "entities": [
        {
            "verbactual_categoryname": "assault/attackTaliban",
            "dimension": "Who",
  },          "disambiguated_name": "Taliban",
     {       "doccount": 0,
            "creationCriteriaScriptfrequency": "$SCRIPT(1,
if (isOrganizationSpecified() == false) return true; )",      "index": "taliban/organization",
             "entity1relevance": "PersonPerpetrator",
        0,
            "entity2totalfrequency": "VictimType"-1,
            "type": "Organization"
       "geo_index": "Location" },
        {
            "iterateOveractual_name": "entity1/entity2/geo_index"Targeted, Civilian, Adult from Afghanistan",
                "time_start"dimension": "$SCRIPT( return _doc.metadata.incidentdate[0]; )Who",
                    "verb"disambiguated_name": "attacked"Targeted, Civilian, Adult from Afghanistan",
            "doccount": 0,
  "verb_category": "assault/attack"         "frequency": 1,
      },      "index": "targeted, civilian, adult from afghanistan/victimtype",
     {       "relevance": 0,
            "creationCriteriaScripttotalfrequency": "$SCRIPT( if (isOrganizationSpecified() == false) return true; )",-1,
            "type": "VictimType"
        },

 

Sample Output:

Code Block
{
      "entity1associations": [
"PersonPerpetrator",        {
            "entity2assoc_type": "HostageTypeEvent",
            "entity1": "taliban",
      "geo      "entity1_index": "Locationtaliban/organization",
            "entity2": "targeted, civilian, adult from afghanistan",
     "iterateOver":       "entity1/entity2/geo_index": "targeted, civilian, adult      from afghanistan/victimtype",
            "time_start": "$SCRIPT( return _doc.metadata.incidentdate[0]; )2009-07-01T00:00:00",
                    "verb": "took hostageattacked",
      
             "verb_category": "assault/attack"
        }

      }

...

Sample Output:

TODO add sample output.

Anchor
associative
associative
Associative

...

Would generate the 2 associations "alex/person lives in baltimore/city" and "craig/person lives in washintgon dc/city".

TODO: show this as JSON

Anchor
creation
creation
creationCriteriaScript

...