datacommonsorg / import

Tools and pipelines for importing data into the Data Commons Knowledge Graph.
Apache License 2.0
4 stars 20 forks source link

Data Commons: Import Tools and Pipelines

This is a repository for tools and pipelines for importing data into Data Commons.

About Data Commons

Data Commons is an Open Knowledge Graph that provides a unified view across multiple public data sets and statistics. It includes APIs and visual tools to easily explore and analyze data across different datasets without data cleaning or joining.

Using Import Tool

Detailed documentation on the Import Tool is available here.

Development

NOTE: The instructions below are relevant for developing the tool. To use the tool, you just need the Java (11+) installed (see instructions above).

Prerequisites

  1. The tools are built using Apache Maven version 3.8.0.
    • For MacOS: brew install maven
  2. The tools use protobuf and require that protoc be installed.
    • For MacOS: brew install protobuf
  3. Make sure Java 11+ is installed
    • You can install it from here
  4. Check what version of Java Maven is using: mvn --version

Build and Test Import Tool

You can build and test the Java code from a Unix shell.

To build: mvn compile

To run tests: mvn test

To build binary: mvn package

To run the above maven commands on M1 macs (details), use the -Dos.arch=x86_64 option.

e.g. mvn compile -Dos.arch=x86_64

Run Server

The repo also hosts an experimental server for private DC.

To build: mvn compile

To run tests: mvn test

To build binary: mvn package

Send a request:

curl http://localhost:8080/stat/series?place=country/USA&statVar=<statVar>

Then should see "Hello World!" in the console output.

Coding Guidelines

The code is formatted using google-java-format. Please follow instructions in the README to integrate with IntelliJ/Eclipse IDEs.

The formatting is done as part of the build. It can be checked by running: mvn com.spotify.fmt:fmt-maven-plugin:check

Contributing Changes

From the repo page, click on "Fork" button to fork the repo.

Clone your forked repo to your desktop.

Add datacommonsorg/import repo as a remote:

git remote add dc https://github.com/datacommonsorg/import.git

Every time when you want to send a Pull Request, do the following steps:

git checkout master
git pull dc master
git checkout -b new_branch_name
# Make some code change
git add .
git commit -m "commit message"
git push -u origin new_branch_name

Then in your forked repo, you can send a Pull Request. If this is your first time contributing to a Google Open Source project, you may need to follow the steps in contributing.md.

Wait for approval of the Pull Request and merge the change.

License

Apache 2.0

Support

For general questions or issues, please open an issue on our issues page. For all other questions, please send an email to support@datacommons.org.

Note - This is not an officially supported Google product.