OpenRefine icon

OpenRefine

OpenRefine is an open-source desktop application for data wrangling

Actions10

Project → Create

AI-generated

Overview

This node integrates with OpenRefine, an open-source desktop application for data wrangling, allowing users to create new projects on an OpenRefine server directly from n8n workflows. The "Create Project" operation enables users to upload JSON-formatted data and initialize a project with various options controlling how the data is interpreted and loaded.

Typical use cases include:

  • Automating the creation of OpenRefine projects from JSON data generated or transformed in previous workflow steps.
  • Preparing datasets for cleaning and transformation in OpenRefine without manual intervention.
  • Managing large datasets by limiting the number of rows loaded to optimize performance.

For example, you might have a workflow that fetches raw JSON data from an API, then uses this node to create a new OpenRefine project with that data, specifying how records are structured and whether to trim strings or guess cell types.

Properties

Name Meaning
Server The URL of the OpenRefine server to connect to (default: http://127.0.0.1:3333). Change only if your OpenRefine server runs on a different address or port.
Project Name The name to assign to the new OpenRefine project.
Project JSON A valid JSON string representing the data to load into the project. Only JSON format is supported for creating projects.
Record Path Specifies the path within the JSON data that defines the record structure. Default is ["_", "_"], suitable for most JSON structures. Adjust if your data has a different nested structure.
Load at most Boolean flag to limit the number of rows loaded into the project. Useful for large datasets to avoid performance issues.
Limit The maximum number of rows to load when "Load at most" is enabled. Default is 1000 but can be adjusted as needed.
Trim Strings If true, trims leading and trailing whitespace from all string values in the project. Helps clean data before further processing.
Guess Cell Value Types If true, OpenRefine will attempt to automatically detect data types of cells, aiding in analysis and transformations.
Store Empty Strings If true, empty string values are preserved in the project data. Useful for maintaining original data structure integrity.
Include File Sources If true, includes file source information in the project.
Include Archive File Name If true, includes the archive file name in the project metadata. Useful when working with multiple files or datasets to track data origin.

Output

The node outputs an array of JSON objects, each representing the result of the project creation request. For the "Create Project" operation, the output JSON contains:

  • statusCode: HTTP status code returned by the OpenRefine server (expected 302 for successful creation).
  • location: The redirect location header from the server response.
  • projectId: The numeric ID of the newly created project extracted from the redirect URL, if available.
  • message: A human-readable message indicating success or partial success (e.g., project created but ID not found).

No binary data is produced by this operation.

Example output JSON snippet:

{
  "statusCode": 302,
  "location": "/project?project=12345",
  "projectId": "12345",
  "message": "Project created"
}

Dependencies

  • Requires access to a running OpenRefine server reachable via the specified Server URL.
  • No special credentials are required beyond the ability to access the OpenRefine server endpoint.
  • The node internally fetches a CSRF token from the OpenRefine server before making requests.
  • Network connectivity and correct server configuration are necessary.

Troubleshooting

  • Common Issues:

    • Incorrect server URL or port: Ensure the Server property matches your OpenRefine server's address.
    • Invalid JSON in Project JSON: The input must be a valid JSON string; malformed JSON will cause errors.
    • Missing or incorrect Record Path: If the record path does not match the JSON structure, the project may not load data correctly.
    • Large datasets without enabling "Load at most" may cause performance problems or timeouts.
  • Error Messages:

    • Errors fetching the CSRF token indicate connectivity or server issues.
    • HTTP errors during project creation usually relate to invalid parameters or server-side problems.
    • If the project ID is not found in the redirect, the project may still be created but tracking it programmatically becomes difficult.
  • Resolutions:

    • Verify server accessibility and URL correctness.
    • Validate JSON input using external tools before passing to the node.
    • Adjust Record Path to fit your data structure.
    • Use "Load at most" with an appropriate limit for large datasets.

Links and References

Discussion