Giter Club home page Giter Club logo

hyperfiles's Introduction

Hyperfiles

hypefiles logo

Organize everything. Hyperfiles is a self-organizing universal knowledge graph. It was designed to support composable data exchange on open markets and data interoperability between applications or execution environments (e.g. blockchain virtual machines). Hyperfiles is built on the Near Blockchain Operating System (BOS) using everything.dev and currently only supports data types on Near. However, BOS is fundamentally chain agnostic and multi-chain composability is on the short-term roadmap.

Quick Start

  1. Create a new fileformat
  2. Create a new file

Guides and Example Use Cases (in progress)

  • Guide: ["How to Create a New Fileformat"] - coming soon!
  • Guide: ["How to Create a New File"] - coming soon!
  • Guide: ["How to Use Attestations"] - coming soon!
  • Use Case: "Near Attestation Service" - in progress!
  • Use Case: "Hypercerts on BOS" - demo ~ Docs
  • Use Case: ["Scientific Fileformat Ontology (SFO)"] - coming soon!
  • Guide: ["Hyperfiles Development Roadmap"] - coming soon!

Standardized Type Schema

  • The Hyperfiles knowledge graph is composed by reducing any piece of data or code into a set of unique objects, called records, which map to a set of pre-defined fields.
  • Each set of fields composes into a unique fileformat. Likewise, each set of records composes into a unique file.
  • Files are an indexed combination of fields and records.
  • Jobs are a specific fileformat type that contain a set of instructions to run a Docker container using decentralized compute networks.

hyperfiles schema

Self-Assembling Data Structures

These features will be developed after a front-end that enables users to manually interact with the knowledge graph.

  • Any data or job can be mixed and matched, enabling seamless composability across apps.
  • Fileformats are automatically detected & categorized when new data is entered or when new fileformats are created during queries and jobs.
  • Fields are analyzed to identify primitive types and basic statistics
  • Core types & user-specific types?
  • Marketplace price determination

Components

Integrated Frontend - In Progress

  • Publish (file/fileformat) - coming soon!
  • Explore - coming soon!
  • Profile - coming soon!

Top-Level Plugins: These are the main components used to interact with the entire Hyperfiles knowledge graph.

  • newFile: create a new file via upload, manual input, and queries - MVP Complete!
  • query: find any set of things, then mix and match - coming soon!
  • newJob: create a new job file and execute a tool config - coming soon!

Mid-Level Plugins: These components can be used by developers to create new use cases for Hyperfiles.

  • create.fileformat: create a new fileformat thing (should fileformats have owners?) - MVP Complete!
  • create.record: create a new record thing - MVP Complete!

Backend Plugins: These component(s) are used by the top-level and mid-level plugins and likely won't need to be modified when integrating or using Hyperfiles.

Core Types

  1. field
  2. record
  3. fileformat
  4. file
  5. metadata - needs update!

To Do

  • Enable upload if file matches a template. Otherwise, use input fields.
  • Fileformat by creating an array of fields and checking if fields exist, then check if that combination of fields exists
  • Create unique IDs for each unique Thing (start with core types)
  • create.field (xN) → create.fileFormat (x0-1) → create.record (xN) → create.file (x1)
  • Enable using queries to create new files
  • Index EAS & enable cross-minting

Getting Started

npm install

Then, run the command:

npm run dev

This will serve the widgets from http://127.0.0.1:4040/.

Go to everything.dev/flags and paste this value there.

Once set, see the locally served app at hyperfiles.near/widget/app.


Unlicense No rights reserved.


hyperfiles's People

Contributors

elliotbraem avatar flowscience avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

hyperfiles's Issues

Update source and type input options

image

This should be a Typeahead or a dropdown input that populates known types for the selected Source.

If the user wants to map a new type to the selected source, the type/schema selector should be rendered with available types: https://near.social/flowscience.near/widget/attestWithTypes for mapping new types to any given source; as well as an option to create a new type (using the type creator).

image

Select Source -> Render Known Types -> If new type, render type/schema selector -> If undefined type, render type creator

Setup Github action for deploy to hyperfiles.near

In the settings, we need to create variables:

DEPLOY_ACCOUNT_ID = hyperfiles.near
SIGNER_ACCOUNT_ID = hyperfiles.near
SIGNER_PUBLIC_KEY

And secret:

SIGNER_PRIVATE_KEY

Public key and signer private key can come from a "NEAR_ENV=mainnet near account import-account" using near-cli-rs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.