Social Network Visualization

From agINFRA

Jump to: navigation, search

Contents

Social Network Visualization

This component allows to visualize the relationships of entities in a network graph. When the mouse pointer hover a node, a tooltip with the name of the entity is presented. Also it displays some options to control the graph mode and list the resouces related to the entity.

  • Include a visualization of the network of an entity such as authors or publications, inside one integrated service build on top of the agINFRA infrastructure.
  • Display different types of visualizations or relationships depending on the API calls from the application.


Usage and deployment (if publicly accessible)

The latest (second) version of the social network visualization component was developed and deployed by ESPOL at agINFRA cloud. The component provides a REST API that can be used by developers to retrieve the HTML of the graph and use it as embeddable component. Also, ESPOL hosts a mirror copy of what is deployed at agINFRA cloud as a backup copy. More details about the agINFRA cloud can be found in ANNEX 2.

The component is deployed and functional at the following URL: http://212.189.144.208/aginfra/snv/snvd3.php

Example Usage Scenario

The Social Network Visualization will provide an easy and configurable way to present relationships between entities in the data present in the agINFRA-powered repositories. It can exploit the underlying RDF graph created about people, articles, projects, resources and other entities available in agINFRA datasets. It can be used by integrated service providers to easily improve the functionality of their applications. It will provide a way to visually explore large amount of data.


Before agINFRA

agINFRA powered version

Further development includes dynamical filtering options and support for germplasm data. In the GetGraph interface the rest graphs types will be supported rather than only PersonGraph. New datasets will be indexed from the RING and new metadata fields will be available to accomplish the previously described features.


APIs

This component was developed using the D3 JavaScript library using the force graph libraries. The data input that is used to the graph render is a JSON document from a local web service (a PHP proxy script called proxy-view-d3.php) that retrieves the relations between authors and resources from the local database. Another proxy script called proxy-meta.php is used to fetch the list of related resources and some other associated meta data. The local database with the bibliographical information uses the Couch Db engine, a NoSQL schema-less database that stores parsed and converted XML IEEE LOM files. An example of a stored document in the Couch Db is the following one:


 { “_id”: “c102c4d629d78fef4f5a1ebfa7e68fb7”,
  “_rev”: “1-429050ef0b0561d5aadb2af64f85dc35”,
  “aginfra_eu”: {
      “lom_general_title_string_type”: [
          {
              “type”: “literal”,
              “value”: “Fertilizers and Fertilization 2”
          },
          {
              “type”: “literal”,
              “value”: “Väetised ja väetamine 2”
          }
      ],
      “lom_general_language_type”: [
          {
              “type”: “literal”,
              “value”: “et”
          }
      ],
      “lom_technical_location_type”: [
          {
              “type”: “literal”,
              “value”: “http://miksike.ee/?showurl=/en/lmtests2.html?test=5859&start=1”
          }
      ],
      “lom_educational_context_source_type”: [
          {
              “type”: “literal”,
              “value”: “LREv3.0”
          }
      ],
      
      “lom_metametadata_identifier_entry_type”: [
          {
              “type”: “literal”,
              “value”: “http://oe.confolio.org/scam/57/entry/71”
          }
      ],
      “lom_lifecycle_contribute_entity_type”: [
          {
              “type”: “literal”,
              “value”: “Tiina Jasinski”
          }
      ],
      “dataset”: [
          {
              “type”: “literal”,
              “value”: “Organic.Edunet”
          }
      ],
      “lom_general_description_string_type”: [
          {
              “type”: “literal”,
              “value”: “Interactive exercise for 4th-6th forms”
          },
          {
              “type”: “literal”,
              “value”: “Interaktiivne harjutus 4.-6. Klassile”
          }
      ],
  }

Several views were programmed in Couch Db in order to provide a running PHP script as web service to deliver them. Below the specification of the component API:


Interface name QueryEntity
Functionality Search for entity and return the corresponding JSON document . The type can be initially person, country, paper, learning object, institution or project. The query is the value, ex. Xavier Ochoa.
API access type REST
Return type JSON
URL and parameters http://212.189.144.208/aginfra/ag_couch_proxy/proxy-meta.php Parameters:center: Natural name of the entity (Ej: Xavier Ochoa, Aage Steen Holm). Search: It has to be the value of “1” for this interface.

Interface name GetEntityInfo
Functionality Get entity information and return an XML with it.
API access type REST
Return type JSON
URL and parameters http://212.189.144.208/aginfra/ag_couch_proxy/proxy-meta.php Parameters:center: Natural name of the entity (Ej: Xavier Ochoa, Aage Steen Holm). Search: It has to be the value of “1” for this interface.

Interface name GetGraph
Description Provide the requested type of graph. Where the GraphType could be: PersonGraph, InstitutionGraph, ProjectGraph, PaperGraph or CountryGraph.PersonGraph: Graph of persons showing the relations among them and other entities (papers, learning objects, institutions or projects) where the relation type can be authorship, co-authorship, co-citation, affiliations, etc. Parameters expected: Entity and relation type.

InstitutionGraph: Graph of institutions showing the relations among them and other entities (person, papers, learning objects or projects) where the relation type can be authorship, co-authorship, co-citation, affiliation, collaboration, staff sharing, etc. To be developed. ProjectGraph: Graph of projects showing the relations among them and other entities (person, papers, learning objects or institutions) where the relation type can be subject relation, people relation, etc. To be developed. PaperGraph: Graph of papers showing the relations among them and other entities (person, learning objects, institutions or projects) where the relation type can be semantic similarity, co-citation, classification, authorship, journal, etc. To be developed. CountryGraph: Graph of countries showing the relations among them and other entities (person, learning objects, institutions or projects) where the relation type can be collaboration, co-authorship, staff sharing, etc. To be developed.

API access type REST
Return type HTML
URL and parameters http://212.189.144.208/aginfra/ag_couch_proxy/proxy-view-d3.php Parameters: center: Natural name of the entity (Ej: Xavier Ochoa, Aage Steen Holm). Mode: “simple” or “full” (Ej: simple is for relations between entities of the same kind like persons, full is for relations between all kinds of entities) graphtype: the graph type previously described.
Personal tools