{"id":27309499,"url":"https://github.com/parmentf/node-concept-network","last_synced_at":"2025-07-17T01:37:04.408Z","repository":{"id":6152159,"uuid":"7381466","full_name":"parmentf/node-concept-network","owner":"parmentf","description":"Concept Network is weighted directed graph, in which activation values are propagated. Written in Node.js.","archived":false,"fork":false,"pushed_at":"2019-03-14T23:16:50.000Z","size":497,"stargazers_count":6,"open_issues_count":3,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-16T23:05:13.338Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/parmentf.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-MIT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-12-30T23:28:56.000Z","updated_at":"2021-06-16T19:30:53.000Z","dependencies_parsed_at":"2022-09-09T21:20:54.512Z","dependency_job_id":null,"html_url":"https://github.com/parmentf/node-concept-network","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/parmentf/node-concept-network","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parmentf%2Fnode-concept-network","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parmentf%2Fnode-concept-network/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parmentf%2Fnode-concept-network/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parmentf%2Fnode-concept-network/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/parmentf","download_url":"https://codeload.github.com/parmentf/node-concept-network/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/parmentf%2Fnode-concept-network/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265558802,"owners_count":23787981,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-12T05:30:01.083Z","updated_at":"2025-07-17T01:37:04.394Z","avatar_url":"https://github.com/parmentf.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# concept-network [![Build Status](https://img.shields.io/travis/parmentf/node-concept-network.svg?style=flat-square)](http://travis-ci.org/parmentf/node-concept-network) [![codecov coverage](https://img.shields.io/codecov/c/github/parmentf/node-concept-network.svg?style=flat-square)](https://codecov.io/github/parmentf/node-concept-network) [![NPM version](https://img.shields.io/npm/v/concept-network.svg?style=flat-square)](http://badge.fury.io/js/concept-network)\n\nConcept Network is weighted directed graph, in which activation values are propagated. Written in [Node.js](http://nodejs.org).\n\n## Getting Started\n\nInstall the module with: `npm install concept-network`\n\n```javascript\nimport { cnAddNode, cnAddLink } from 'concept-network/lib/concept-network';\nimport { cnsActivate, cnsPropagate } from 'concept-network/lib/concept-network-state';\n\nlet cn = cnAddNode({}, 'ECTOR');\ncn = cnAddNode(cn, 'knows');\ncn = cnAddNode(cn, 'Achille');\n\ncn = cnAddLink(cn, 'ECTOR', 'knows');\ncn = cnAddLink(cn, 'knows', 'Achille');\n\nlet cns = cnsActivate({}, 'ECTOR');\ncns = cnsPropagate(cn, cns);\n```\n\nwhich gives:\n\n```js\n{ ECTOR: { value: 59.500004166625004, age: 1, old: 100 },\n  knows: { value: 63.40844023393148, old: 0, age: 0 } }\n```\n\n## Functions\n\n\u003c!-- Generated by documentation.js. Update this documentation by updating the source code. --\u003e\n\n#### Table of Contents\n\n-   [cnsActivate](#cnsactivate)\n    -   [Parameters](#parameters)\n-   [cnsGetActivationValue](#cnsgetactivationvalue)\n    -   [Parameters](#parameters-1)\n-   [cnsGetOldActivationValue](#cnsgetoldactivationvalue)\n    -   [Parameters](#parameters-2)\n-   [cnsGetMaxActivationValue](#cnsgetmaxactivationvalue)\n    -   [Parameters](#parameters-3)\n-   [cnsGetActivatedTypedNodes](#cnsgetactivatedtypednodes)\n    -   [Parameters](#parameters-4)\n-   [cnsSetActivationValue](#cnssetactivationvalue)\n    -   [Parameters](#parameters-5)\n-   [cnsPropagate](#cnspropagate)\n    -   [Parameters](#parameters-6)\n-   [cnAddNode](#cnaddnode)\n    -   [Parameters](#parameters-7)\n-   [cnDecrementNode](#cndecrementnode)\n    -   [Parameters](#parameters-8)\n-   [cnRemoveNode](#cnremovenode)\n    -   [Parameters](#parameters-9)\n-   [cnAddLink](#cnaddlink)\n    -   [Parameters](#parameters-10)\n-   [cnRemoveLink](#cnremovelink)\n    -   [Parameters](#parameters-11)\n-   [cnRemoveLinksOfNode](#cnremovelinksofnode)\n    -   [Parameters](#parameters-12)\n-   [cnDecrementLink](#cndecrementlink)\n    -   [Parameters](#parameters-13)\n-   [cnGetNode](#cngetnode)\n    -   [Parameters](#parameters-14)\n-   [cnGetLink](#cngetlink)\n    -   [Parameters](#parameters-15)\n-   [cnGetLinksFrom](#cngetlinksfrom)\n    -   [Parameters](#parameters-16)\n-   [cnGetLinksTo](#cngetlinksto)\n    -   [Parameters](#parameters-17)\n-   [cnGetNodeIndex](#cngetnodeindex)\n    -   [Parameters](#parameters-18)\n-   [cnGetLinkIndex](#cngetlinkindex)\n    -   [Parameters](#parameters-19)\n-   [cnGetLinkIndex2](#cngetlinkindex2)\n    -   [Parameters](#parameters-20)\n\n### cnsActivate\n\nSet the activation value of the node which `label` is given to 100.\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **ConceptNetworkState**\n\n### cnsGetActivationValue\n\nGet the activation value of a node (which `label` is given)\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **([number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \\| [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**\n\n### cnsGetOldActivationValue\n\nGet the activation value of a node (which `label` is given)\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **([number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number) \\| [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**\n\n### cnsGetMaxActivationValue\n\nGet the maximum activation value of all nodes which label start with\n`beginning`.\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**\n-   `beginning` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**  (optional, default `''`)\n\nReturns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n\n### cnsGetActivatedTypedNodes\n\nReturn an object associating nodes labels with their activation values, but\nonly for labels starting with `beginning` and activation values greater or\nequal to `threshold`.\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**\n-   `beginning` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**  (optional, default `''`)\n-   `threshold` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)**  (optional, default `95`)\n\n### cnsSetActivationValue\n\nSet the activation `value` of a node `label`.\n\n#### Parameters\n\n-   `cns` **ConceptNetworkState**  (optional, default `{}`)\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `value` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)**\n\nReturns **ConceptNetworkState**\n\n### cnsPropagate\n\nPropagate the activation values along the links.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `cns` **ConceptNetworkState**\n-   `options`   (optional, default `{decay:40,memoryPerf:100}`)\n\nReturns **ConceptNetworkState**\n\n### cnAddNode\n\nCreate a node in `cn` or increment its occurrence.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **ConceptNetwork** the new ConceptNetwork\n\n### cnDecrementNode\n\nDecrement the `occ` of the node which `label` is given by one.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **ConceptNetwork** the new ConceptNetwork\n\n### cnRemoveNode\n\nRemove the node which `label` is given (and the links to it)\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **ConceptNetwork** the new ConceptNetwork\n\n### cnAddLink\n\nCreate a link between `from` and `to`, and increment `coOcc` by one.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `from` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n-   `to` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)**\n\nReturns **ConceptNetwork** the new ConceptNetwork\n\n### cnRemoveLink\n\nRemove the link from `from` to `to`\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `from` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the outgoing node\n-   `to` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the ingoing node\n\nReturns **ConceptNetwork** the new ConceptNetwork\n\n### cnRemoveLinksOfNode\n\nRemove all links of the node which `label` is given.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node which links are to be removed\n\nReturns **ConceptNetwork** new ConceptNetwork\n\n### cnDecrementLink\n\nDecrement the coOcc of the link from `from` to `to` by one.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `from` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the from node\n-   `to` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the to node\n\nReturns **ConceptNetwork** new ConceptNetwork\n\n### cnGetNode\n\nGet the node matching `label`.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node to get\n\nReturns **(ConceptNetworkNode | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**\n\n### cnGetLink\n\nGet the link from `from` to `to`.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `from` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node from\n-   `to` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node to\n\nReturns **(ConceptNetworkLink | [undefined](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/undefined))**\n\n### cnGetLinksFrom\n\nGet the links from `label` node.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node from\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;ConceptNetworkLink\u003e**\n\n### cnGetLinksTo\n\nGet the links to `label` node.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node to\n\nReturns **[Array](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array)\u0026lt;ConceptNetworkLink\u003e**\n\n### cnGetNodeIndex\n\nGet the index of the node matching `label`.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `label` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node to get\n\nReturns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** \\-1 when not found\n\n### cnGetLinkIndex\n\nGet the index of the link from `from` to `to`.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `from` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node from\n-   `to` **[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String)** label of the node to\n\nReturns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** \\-1 when not found\n\n### cnGetLinkIndex2\n\nGet the index of the link from `fromIndex` to `toIndex`.\n\n#### Parameters\n\n-   `cn` **ConceptNetwork**\n-   `fromIndex` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** label of the node from\n-   `toIndex` **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** label of the node to\n\nReturns **[number](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number)** \\-1 when not found\n\n## Contributing\n\nIn lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint, and test your code using `npm test`.\n\n## Release History\n\nSee also [Releases](https://github.com/parmentf/node-concept-network/releases)\n\n-   2019/01/04: version 2.0.0: Change all API to something more functional\n-   2018/12/27: version 1.2.2: Go back to synchronous ConceptNetwork\n-   2015/11/28: version 1.2.1: Update dependencies versions\n-   2015/02/20: version 1.2.0: Add options to propagate()\n-   2015/02/07: version 1.1.0: Make getLink accept two parameters\n-   2015/02/07: version 1.0.0: Go to semantic versioning, add increments to addLink and addNode\n-   2014/08/07: version 0.1.4: fix some error cases with injector\n-   2013/01/05: version 0.1.3: add ConceptNetworkState.getMaximumValue() and ConceptNetworkState.getActivatedTypedNodes()\n-   2013/01/03: version 0.1.2: add ConceptNetworkState\n\nWarning: this is a work in progress.\n\n## License\n\nCopyright (c) 2012 François Parmentier\nLicensed under the MIT license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparmentf%2Fnode-concept-network","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fparmentf%2Fnode-concept-network","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fparmentf%2Fnode-concept-network/lists"}