All Projects → acutesoftware → AIKIF

acutesoftware / AIKIF

Licence: GPL-3.0 license
Artificial Intelligence Knowledge Information Framework

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to AIKIF

Wandora
Wandora is a general purpose information extraction, management and publishing application based on Topic Maps and Java.
Stars: ✭ 105 (+94.44%)
Mutual labels:  knowledge, information
mobi
Mobi is a decentralized, federated, and distributed graph data platform for teams and communities to publish and discover data, data models, and analytics that are instantly consumable.
Stars: ✭ 41 (-24.07%)
Mutual labels:  ontology
Ultimate-Hacker-Roadmap
Don't know what to focus on to become a Penetration Tester..? This is the BEST roadmap for becoming a modern penetration tester. Everything you need to know to land a paying job, categorized in 5 skill levels.
Stars: ✭ 132 (+144.44%)
Mutual labels:  knowledge
twifo-cli
🐤 Get user information of a Twitter user.
Stars: ✭ 24 (-55.56%)
Mutual labels:  information
memo-dev
Knowledge base, Today I Learned, Cheatsheet ... Call this as you want ...
Stars: ✭ 13 (-75.93%)
Mutual labels:  knowledge
handbook
📚 Personal bits of knowledge.
Stars: ✭ 88 (+62.96%)
Mutual labels:  knowledge
semanticscience
The Semanticscience Integrated Ontology (SIO) provides a simple, integrated ontology of types and relations for rich description of objects, processes and their attributes.
Stars: ✭ 52 (-3.7%)
Mutual labels:  ontology
cowl
A lightweight C/C++ library for working with Web Ontology Language (OWL) ontologies
Stars: ✭ 18 (-66.67%)
Mutual labels:  ontology
knowledge
Everything I know. My knowledge wiki. My notes (mostly for fast.ai). Document everything. Brain dump.
Stars: ✭ 118 (+118.52%)
Mutual labels:  knowledge
e-books
IT technical related e-books and PPT information, continuous updating. For those in need, Keep real, peace and love.
Stars: ✭ 470 (+770.37%)
Mutual labels:  information
node-red-contrib-FIWARE official
FIWARE-Node-Red integration supporting NGSI-LD
Stars: ✭ 14 (-74.07%)
Mutual labels:  information
instagram-profilecrawl
📝 quickly crawl the information (e.g. followers, tags etc...) of an instagram profile.
Stars: ✭ 964 (+1685.19%)
Mutual labels:  information
ontology-visualization
A simple ontology and RDF visualization tool.
Stars: ✭ 102 (+88.89%)
Mutual labels:  ontology
semantic-python-overview
(subjective) overview of projects which are related both to python and semantic technologies (RDF, OWL, Reasoning, ...)
Stars: ✭ 406 (+651.85%)
Mutual labels:  ontology
daf-ontologie-vocabolari-controllati
Elenco di ontologie e vocabolari controllati. Per maggiori informazioni, si veda il readme principale e quello di singoli vocabolari/ontologie, ove presente, e la seguente documentazione
Stars: ✭ 73 (+35.19%)
Mutual labels:  ontology
Ontology-Triones-Service-Node-security-checklist
Ontology Triones Service Node security checklist(本体北斗共识集群安全执行指南)
Stars: ✭ 44 (-18.52%)
Mutual labels:  ontology
SuperMemoAssistant.Plugins.PDF
Incremental PDF for SuperMemo
Stars: ✭ 29 (-46.3%)
Mutual labels:  knowledge
Data-Structures-and-Algorithms--A-Comprehensive-Guide
Data Structures & Algorithms - A Comprehensive Guide
Stars: ✭ 15 (-72.22%)
Mutual labels:  knowledge
environmental-exposure-ontology
Modular environmental exposures ontology
Stars: ✭ 20 (-62.96%)
Mutual labels:  ontology
trove
Weakly supervised medical named entity classification
Stars: ✭ 55 (+1.85%)
Mutual labels:  ontology

AIKIF

Artificial Intelligence Knowledge Information Framework (Alpha)

Build Status PyPI version

This is an information classification framework that maps structured or freeform data to a standard knowledge store.

Manages a dataset of your applications, the source data, parameters, runs and results and then uses your business rules to convert and store the information in a machine usable format.

Your AI software can link to AIKIF by setting up logging watch-points to define success / failure along with the range of input parameters. Goals and plans are defined by breaking them down to smaller tasks until the task can be run by a tool in the Toolbox.

A tool is any python wrapped function or application and is easily extensible.

Overview of AIKIF

Quick Start

This github repository https://github.com/acutesoftware/AIKIF contains the latest code, but the current public release is available via

pip install aikif

To start the API server use aikif/api_main.py and run the tests/test_api.py

 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
127.0.0.1 - - [28/May/2015 19:22:49] "GET /facts HTTP/1.1" 200 -
127.0.0.1 - - [28/May/2015 19:22:49] "GET /help HTTP/1.1" 200 -
127.0.0.1 - - [28/May/2015 19:22:49] "GET /users/1 HTTP/1.1" 200 -

To start the web interface use aikif/web_app/web_aikif.py or the batch file aikif\go_web_aikif

screenshot of web interface

Simple Usage

In its simplest form AIKIF can be used to manage your projects and tasks, by updating information from scripts and tracking via the web application

my_biz = project.Project(name='Acute Software', type='business', desc='Custom Software')
my_biz.add_detail('website', 'http://www.acutesoftware.com.au')
my_biz.add_detail('email', '[email protected]')

Logging data

You can use AIKIF as a database to manage adhoc data logging tasks

proj2 = project.Project(name='Sales Log', desc='Record list of sales')
proj2.add_detail('Note', 'List of sales taken from manual entries in test program')

tbl_exp = cls_datatable.DataTable('expenses.csv', col_names=['date', 'amount', 'details'])
proj2.record(tbl_exp, 'Expense', ['2015-02-13', 49.94, 'restaurant'])
proj2.record(tbl_exp, 'Expense', ['2015-02-15', 29.00, 'petrol'])
proj2.record(tbl_exp, 'Expense', ['2015-02-17', 89.95, 'fringe tickets'])

Data Collection Usage

p = aikif.project.Project('update Country reference', type='Auto')
p.add_task(1, 'download file', aikif.toolbox.web_download)
p.add_task(2, 'extract zip', aikif.toolbox.zip_util)  # not implemented
p.add_task(3, 'overwrite TXT to database staging', aikif.toolbox.data_load)

p.add_param(task=1, url='http://www.')
p.add_param(task=1, dest_zip = 'T:\data\download\country')
p.add_param(task=3, tbl='S_REF_COUNTRY')
p.execute()

This will execute the methods for each task using the specified parameters to update the table from the web

Map information

Define how columns in raw data should be mapped

m = aikif.mapper('custom mapper for countries', tbl = 'S_REF_COUNTRY')
m.add_col('code', data_type='STR', map_to_col='COUNTRY_CODE')
m.add_col('Name', data_type='STR', map_to_col='COUNTRY_NAME')
m.add_col('Continent', data_type='STR', map_to_col='CONTINENT')
m.add_col('Population', data_type='NUMBER', map_to_col='POPULATION')

Define your own Toolbox methods

Say you have a program 'my_average.py' which calculates averages that you want to include in the toolbox methods

t = aikif.toolbox.Toolbox()
t.add_tool(1, 'Calc Average', src=T:\dev\src\python\my_tools\my_average.py')

p2 = aikif.project.Project('Aggregate Country by Continent')
p2.add_task(1, 'Fetch source data', aikif.toolbox.data_view)
p2.add_task(2, 'Aggregate Population', t['Calc Average'])

p2.add_param(task=1, tbl = 'S_REF_COUNTRY' )
p2.add_param(task=2, group_by_col = 'CONTINENT', measure_col='POPULATION' )

p2.execute()  # with no parameters, data outputs to console

More Information

Requirements Documentation
Design Notes
Overview Diagram

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].