Welcome to Entity-Relation Graph Demo!

This demo aims to visualize the entity and relaiton extraction results from news data. The work is done by RPI Blender Lab's text knowledge extraction system (Zhang el at., 2018). DemoPic

  • How to use?

    To find an entity and its relations, there are two ways:

    • Search entity name
      You could simply input the entity name, such as "Putin", "Kiev". Note that the system can handle different spellings. For example, there are two spellings of Kiev ("Kiev", "Kyiv"), and the system will find the same entity "Kiev"for both spellings.
    • Run Cypher queries
      Neo4j is our backend database, so you could run Cypher queries directly! Cypher query could support more complex and personalized searching. Just select "Use Cypher Query", and input your query in the searching box to search. Example Cypher queries are here.

    When you get the entity node, the visualization supports four actions:

    • Double Click the entity
      The relations with other entities will appear. You can also double click other entities to see how them are connected. Note that we now only visualize top 30 frequent relations to avoid the graph too crowded.
    • Click the entity
      Two Icons will appear. LOCK icon is one the left top side, and CROSS icon on the right top side. Click LOCK icon to return, Click CROSS icon to delete the entity in this visualization. Note that deletion is only effective in this session, to make the graph less crowd.
    • Hover over the entity and its relations
      The properties will appear in the property box.
    • You can also zoom in, zoom out, drag node, etc.

    Now, Let's start to play with it!
  • Example Cypher Queries

    Cypher is a powerful graph query language Wikipedia. The basic Cypher grammar is in Cypher Intro. The comparison between Cypher and SQL can be found here. In this demo, the following queries might be useful to you :)

    • Searching the entity by mention, e.g., Putin
      MATCH (n) WHERE 'Putin' in n.mention RETURN n 
    • Searching the entity by name, e.g., Putin
      MATCH (n) WHERE n.name =~ '(?i).*Putin.*' RETURN n  
    • Searching the entity by name or mention, e.g., Putin
      MATCH (n) WHERE n.name =~ '(?i).*Putin.*' OR 'Putin' in n.mention RETURN n 
    • Searching the entity and its relations, e.g., Putin (using mention to search by default)
      MATCH (n)-[j]-(k) WHERE 'Putin' in n.mention RETURN n,j,k ORDER BY j.frequency DESC Limit 20 
      *Only top 20 frequent relations.
    • Searching the entity and relations starts with it, e.g., Putin
      MATCH (n)-[j]->(k) WHERE 'Putin' in n.mention RETURN n,j,k ORDER BY j.frequency DESC Limit 20 
      *Only top 20 frequent relations.
    • Searching the entity and relations ends with it, e.g., Putin
      MATCH (k)-[j]->(n) WHERE 'Putin' in n.mention RETURN n,j,k ORDER BY j.frequency DESC Limit 20 
      *Only top 20 frequent relations.

  • References

    @inproceedings{zhang2017rpi,
    title={GAIA - A Multi-media Multi-lingual Knowledge Extraction and Hypothesis Generation System.},
    author={Tongtao Zhang, Ananya Subburathinam, Ge Shi, Lifu Huang, Di Lu, Xiaoman Pan, Manling Li, Boliang Zhang, Qingyun Wang, Spencer Whitehead, Heng Ji, Alireza Zareian, Hassan Akbari, Brian Chen, Ruiqi Zhong, Steven Shao, Emily Allaway, Shih-Fu Chang, Kathleen McKeown, Dongyu Li, Xin Huang, Kexuan Sun, Xujun Peng, Ryan Gabbard, Marjorie Freedman, Mayank Kejriwal, Ram Nevatia, Pedro Szekely, T.K. Satish Kumar, Ali Sadeghian, Giacomo Bergami, Sourav Dutta, Miguel Rodriguez, Daisy Zhe Wang.} }

    .