Event / Fake Data
/event/{event_id}
This page is the bonus dev page for getting the graph data. Welcome to my happy place.
A good example doc to look at with all the changes is: http://nsight-api-1.rr.ikanow.com/nsight/event/53680852e4b08812fcb36d61?graph_data=true&fake_geo=true&fake_mediatype=true&hide_data=true&num_feed_items=1&max_ents=20&fake_date_spread=24
Query Options
graph_data=true
required to get the new data model
fake_geo=true
turn on to get random docGeo for every internal doc and the event if they do not exist
fake_mediatype=true
turn on to get random mediatypes for every internal doc, rotates across the 9 mediatypes for an even distribution
hide_data=true
turn on to remove the "data" field from the root response object because it is redundant
num_feed_items=25
overrides the default number of documents that will have a url/desc in the doc_info_aggregation results (they cannot be guaranteed to be the first xx results)
geo_spread_degrees=5
forces fake_geo to pick lat/lng only this far apart (in degrees) - will result in all geos being: +-X/2 (because this will split them across the equator/perimeter) also im using ints so if you send an odd number it'll drop a degree because im lazy
min_docs=10
pastes the first doc a number of extra times until we get to X docs total
max_ents=20
overrides the maximum number of entities that will be added per document
fake_date_spread=24
adds a random date that is between NOW and the previous number of hours you send (e.g. if you send 24 a date can be between now and 24 hours ago)
fake_imagery=5
adds random image urls to the doc_info objects, as many as the number supplied (the images are on a short list and will rotate, some are valid, some are not for testing what happens).
Â
This will turn on the api to add the new data model (eventually I'll just roll the regular call over to default graph_data to true so we don't have to make any changes, I just didn't want to break the current UI).
This new data model will make a few changes:
1. The event will have a new visualizations field to let the gui know which visualizations to turn on for this event (in the analysis view), the field is located: event.metadata.json[0][0].visualizations e.g.: { "event": { ...lots of fields blah blah... "metadata": { "json": [ [ { "_id": "5347106ce4b051fe39633d2b", "key": { "id": "russia/country||sanction||ukraine/country", "cat": "diplomatic relations" }, "description": "2 documents containing association: russia/country sanction ukraine/country \n'Euphoria over Crimea won't last'\nRussia's euphoria over Crimea won't last\n", "title": "Russia & Ukraine - Diplomatic Relations", "titles": [ "'Euphoria over Crimea won't last'", "Russia's euphoria over Crimea won't last" ], "stats": { "median_date": "Mon Mar 31 2014 00:00:00 GMT-0400 (EDT)" }, "dates": [ "Mar 31, 2014 02:27:07 PM UTC", "Mar 31, 2014 02:24:51 PM UTC" ], "verbs": [], "visualizations": [ "MEDIATYPE_VOLUME_OVER_TIME", "GEO_MAP", "ENT_TYPE_SENTIMENT_FREQUENCY_RELEVANCE" ] } ] ] } } }
2. Depending on what visualizations are turned on in the above list, the data will be aggregated in new fields currently: doc_info_aggregation ent_info_aggregation ...more if we need them They are located at the root level e.g. { "doc_info_aggregation":[], "ent_info_aggregation":[] } doc_info will be objects like: { public String mediatype; public String publishedDate; public GeoPojo docGeo; //only exists if doc had a docGeo public String docTitle; public String docId; public String docUrl; //not always present public String docDescription; //not always present } ent_info will be objects like: { public EntityPojo entity; //entire normal entity objects just copied in here public String arch_type; public Double aggregated_sentiment; public Long aggregated_frequency; public Double average_relevance; public List<ObjectId> doc_ids; }
3. The "rawdocs" will now be located at the root object in the "data" field e.g. { "data":[{doc1},{doc2},...] } I've left them in the event.metadata.documents currently so your old UI will work, BUT THEY WILL BE REMOVED FROM THERE IN THE FUTURE, once you have switched your gui to work with the new locations.
TL;DR;
What is getting deleted?
- event.metadata.json[0][0].documents
- event.entities
- event.associations
What has moved?
- entire event from data to event
- "rawdocs" from data.metadata.json[0][0].documents to data
What has been added?
event.metadata.json[0][0].visualizations - for a list of viz to display
- doc_info_aggregation - data source for doc centric viz
- ent_info_aggregation - data source for ent centric viz