You can export the knowledge graph generated by InfraNodus along with all the metrics including its community structure (top clusters), gaps, and node metrics (degree and influence — betweenness centrality).
This may be useful if you'd like to feed this data to an external tool, custom GPT, AI model, or any other resource via an API.
There are 3 ways to do that:
Option 1: Download the Original JSON Graph File
You can export your private graph via the Analytics > Stats panel (activate it with the Advanced Mode setting at the top of the page) or via the Statements Menu > Downloads.
Note, that this function will only export the original graph that loads when you open the graph. If you'd like to hide some nodes, you need to add them to the permanent list of stopwords for the graph and reload the graph again.
Option 2: Access JSON Graph via a URL
You can also access your JSON graph via a public URL link. Note, that if you are a standard user and don't have access to our API, you can only access public graphs this way. Therefore, you'll need to make your graph public first in order to be able to access it.
While the graph does not contain the actual statements, it does have a "statements" object, which lists the keywords contained in each statement, which may reveal your original content indirectly, so, please, be careful using it only with data that you can afford to reveal this way.
If you need to access your statements separately, you can do so using the link provided in the Statements > Download > Original Text (JSON)
Option 3: Access JSON Graph via API
Premium InfraNodus users can access their private graphs via a built-in API or directly in a browser (you'll need to have a logged-in session to do that).
You can access this data via this link, where you should replace [your_user_name] and [your_graph_name] with appropriate details (you can find them in the original InfraNodus URL) or when you generate a download link using Option 1 above.
https://infranodus.com/graph/public/nodes/your_user_name/your_graph_name
InfraNodus Graph JSON Format Structure
The graph JSON object will contain the nodes, the edges, as well as the communities (node clusters), the structural gaps identified, along with extended meta-data and graph analytics, which you can use for your analysis or in other applications.
The structure of the exported JSON object will have the following properties :
{
"nodes": [
{
"label": "infranodus",
"id": "ab9245a5-5e98-59e2-ad79-c82bd0ea2287",
"weighedDegree": 3,
"degree": 1,
"bc": 0, // betweenness centrality
"community": 0, // the topic the node belongs to
"x": -7.081424236297607, // position on a 2D plane
"y": 4.571528401768881e-16
}
],
"edges": [
{
"source": "ab9245a5-5e98-59e2-ad79-c82bd0ea2287",
"target": "b5a3c19e-66bf-59a9-b4d3-37b1c2cdc351",
"id": "15e49fb4-02d1-5dba-88ff-e8d8e5da0407",
"weight": 3,
"context_matrix": { // which graphs contain this statement
"sample_graph": { // the name of the graph
"107145146": 3
}
}
],
"graph": {
"nodes_to_statements_map": { // maps nodeName to statementId where it appears
"infranodus": [
107145146
],
"modularity": 0, // community structure modularity score
"top_nodes": [
"infranodus",
"tool"
],
"top_clusters": [
{
"community": "0",
"nodes": [
{
"nodeName": "infranodus",
"degree": 1,
"bc": 0,
"x": -7.081424236297607,
"y": 4.571528401768881e-16
}
],
"number": 2, // nodes inside the community cluster
"numberRatio": 1,
"bcRatio": 0.2, // cumulative betweenness centrality score for the cluster
"averagePosition": { // cluster position
"x": 0,
"y": 2.354271166867184e-17
},
"statementIds": [ // statementIds inside this community cluster
107145146,
107145146
],
"topStatementId": 107145146 // most relevant statement for this community cluster
}
],
"gaps": [] // gaps between clusters with additional information
},
"statementHashtags": { // concepts found in each statement — careful, may reveal your content
"107145146": [
"#infranodus",
"#tool"
]
}
}
A few notes on how parameters in the topical clusters are calculated:
- `numberRatio` — The number of nodes in a cluster to the total number of nodes. Shows the relative weight of a topic in terms of linguistic variety — e.g. if a rich vocabulary consisting of multiple words is used in the topic OR if the topic contains many words, this parameter will be higher.
- `bcRatio` — Cumulative betweenness centrality (influence) measures the relative influence of the topic to the total cumulative influence of all the concepts that appear in the graph. The higher the measure, the more influential terms this topical cluster contains.
- `statementIds` — Each topical cluster contains a set of concepts. Each of these concepts may appear in several statements. This parameter will show all the statements that contain at least one concept from the topical cluster. All the statements listed here will touch on this topical cluster at least in some way.
- `topStatementId` — one of these statements from the `statementIds` will appear most frequently in the list. This means that one statement has a particularly high concentration of concepts that belong to a particular topic. This statement will be designated as the top statement for this particular topic.
If the object also returns the statements, it will have the following format:
statements: [
{
"id": 41, // statement ID
"content": "This is the content of a random statement", // text content
"contextId": 1, // ID of the graph context it belongs to
"categories": [], // categories / filter tags
"createdAt": "2024-03-18T13:57:23.669Z",
"sordId": 41, // position
"statementHashtags": [
"content",
"random",
"statement",
],
"statementCommunities": [ // what topical cluster each concept belongs to
"0",
"0",
"1",
],
"topStatementCommunity": "0" // most common cluster for the concepts in this statement
}
]
A few notes on the parameters calculated
- `statementHashtags` — Contains a sequence of concepts that appear in a statement.
- `statementCommunities` — Each word in a statement belongs to a certain topical cluster. This parameter lists all the clusters for all the concepts that appear in the community.
- `topStatementCommunity` — What is the most common topical cluster for most words that appear in this topic.
For example, when InfraNodus browser extension or InfraNodus browser app filters the statements shown for each topic, it uses the parameter found in `topStatementCommunity` by default to know which statement should be assigned to a specific topical cluster. So when you click on a topic to see the statements that belong to it, this parameter will be used to filter the results. This means that each statement shown when you filter the content by topic has the highest concentration of terms from that topic.
However, to show the most relevant statement for every topic, the parameter `topStatementId` from the `top_clusters` array is used, because it selects only one statement from all the statements that would describe this topic in the best possible way. Instead of counting the number of appearances of a certain topic inside a statement (and thus, being influenced by the length of the statement), it instead looks at the number of times a certain statement touches upon a certain topic and selects the most common value.
Comments
0 comments
Please sign in to leave a comment.