The plugin is used to import Third-Party Data to enrich some nodes in your graph:
- For example, you may have a
Company
node in your graph, and you want to enrich it with data from the French Official Company Information API. - You click any
Company
node in the graph, use thecustom action
menu and clickFetch details for French Company
. - The plugin opens and shows a list of matching results from the French Company Information API.
- You select the result you want to import, which creates a new
Person_Details
node in the graph with the data from the API, linked to the originalPerson
node.
The plugin supports multiple vendor APIs. To use one API, you must first create an API integration (can only be done by an admin). Then, you can use the plugin to search for matching data for a given node, and create a new node in the graph with the data from the API.
An API integration is a configuration that contains:
- the API to use (e.g.
annuaire-entreprises-data-gouv-fr
) - the data-source to use (e.g.
My transaction graph
) - the type of node to use as input for searching (e.g.
Company
) - the properties of the input node to use as search parameters (e.g.
name
,date_created
) - the type of node to create as output with the response data (e.g.
Company_Details
) - the properties of the response to use as properties of the new node (e.g.
email
,phone
,company
,location
,industry
,linkedin
,employee_count
,revenue
)
If you would like to use other APIs with this plugin, please 💌 get in touch.
How to get details for a node, from Linkurious Enterprise:
third-party-data_search.mov
How to create a new integration:
third-party-data_config.mov
Screenshot of the main search interface:
Installing & accessing:
- Check the documentation on how to install plugins.
- Once the plugin is installed, open the plugin page (default path:
/plugins/third-party-data/
).
Features:
- Admin: create/list/edit/delete API integrations
- User: search for matching data for a given input node using an existing API integration
- User: choose a result from the list of matching data to create a new node in the graph
This project uses npm workspaces. The code is distributed into 3 main locations:
- shared code (simple folder under
packages/shared
) - frontend (npm workspace under
packages/frontend
- backend (npm workspace under
packages/backend
)
To install all dependencies, run:
npm install
To run the project locally in development mode (with mock data), run:
npm start # starts the frontend with a mock backend at http://localhost:4000/plugins/3d/
You can edit the development config at:
packages/frontend/vite.config.ts
packages/frontend/src/dev/apiMocks.ts
To build the plugin for production, run:
npm run build
The frontend is a Vanilla single-page JavaScript application, written in TypeScript and compiled/bundled with Vite.
The backend is a Node.js application based on the express Web server, written in TypeScript and compiled with tsc.