Skip to content

cambridge-cares/TheWorldAvatar

Repository files navigation

The World Avatar logo

PRs Welcome License
Contributors Stars Forks

Introduction

The World Avatar project aims to create a digital ‘avatar’ of the real world. The digital world is composed of a dynamic knowledge graph (KG) that contains concepts and data that describe the world, and an ecosystem of autonomous computational agents that simulate the behaviour of the world and that update the concepts and data so that the digital world remains current in time. A knowledge graph is a network of data expressed as a directed graph, where the nodes of the graph are concepts or their instances (data items) and the edges of the graph are links between related concepts or instances. Knowledge graphs are often built using the principles of Linked Data. They provide a powerful means to host, query and traverse data, and to find and retrieve related information.

The World Avatar represents information in a dynamic knowledge graph using technologies from the Semantic Web stack. Unlike a traditional database, the World Avatar contains an ecosystem of autonomous computational agents that continuously update it. The agents are described ontologically as part of the knowledge graph, and are able to perform actions on both concepts and instances. This design enables agents to update and restructure the knowledge graph, and allows them to discover and compose other agents simply by reading from and writing to the knowledge graph.

Key Features

Listed below are a number of the key technical features available within The World Avatar ecosystem. More information on these, and other features, can be seen on The World Avatar Wiki.

TWA Stack:
The knowledge graph and its agents are hosted using collections of containers. How to use them is explained in the stack manager and stack data uploader folders.

TWA Base Library:
The base lib is a collection of functionality that is shared among many parts of the code. Core functions include the ability to generate and upload TBoxes, query KGs and RDBs, implement RESTful APIs, and triple cloning.

TWA Visualisation Framework:
The TWA-VF is a container that provides a web-page with which a user can view and explore geospatial information held in the TWA ecosystem. This includes not only map data, 3D-representations of buildings, and building information models (BIM), but also any data or information connected to them within the KG, such as data calculated by models, acquired sensor data, or other time series data.

Autonomous Agents:
Agents are pieces of software that act on the knowledge graph - reading from it, writing to it, thus making it evolve dynamically in time. The currently available agents can be found in the agents folder.

Object Graph Mapper:
The main purpose of the OGM is to provide a layer of abstraction so that developers can write code that interacts with the KG without having to write queries or updates in a query language such as SPARQL. An OGM achieves this by mapping concepts and their properties as represented in the KG to classes with member fields in an object oriented programming language (e.g. Java). A developer can then simply write their code using classes and objects like they would write any other code.

Documentation

You can find the documentation for The World Avatar project in the repository's Wiki pages.

Contributing

Collaboration is at the heart of The World Avatar project. Development happens publicly on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving The World Avatar.

Code of Conduct

  • The Organization for Ethical Source has produced an Open Source Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.

Contributing Guide

  • Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to The World Avatar.

Good First Issues

  • To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started developing The World Avatar

Licence

The World Avatar is MIT licensed.

Useful links