Skip to content

usc-isi-i2/sand

Repository files navigation

SAND

PyPI Python GitHub Issues Contributions welcome License

Table of Contents

Introduction

SAND is an application to annotate semantic descriptions of tables and (optionally) linked records in tables to a target knowledge graph, then it can automatically export the table data to RDF, JSON-LD, etc. It also does basic data cleaning automatically based on the annotated semantic descriptions. SAND is designed to be customizable: you can plug in a new semantic modeling algorithm (which generates a semantic description automatically) or different knowledge graphs as long as you have a suitable plugin implemented SAND's plugin interface.

Moreover, SAND offers an internal KG browsing and table filtering so you can interactively browsing and modeling your tables.

For a demo, please see: our demo paper, demo video.

Installation

Install from pip: pip install -U web-sand

Usage

  1. Initialize database: sand init -d <dbfile>. For example: sand init -d ./data/sand.db
  2. Start the webserver: sand start -d <dbfile> --externaldb <folder_of_ent_and_ont_db>
  3. Open the URL: http://localhost:5524

For example, checkout server.sh

Development

  1. cd to www
  2. Install yarn and yalc
  3. Install dependencies: yarn install
  4. Start development server: yarn start. Then, access development server at: http://127.0.0.1:3000.
  5. Build production files: yarn build
  6. Build library files and publish to private index (only if you are released sand as a library): yarn build:lib && yalc public --private