Browsing projects by Tag(s)

Select a tag to browse associated projects and drill deeper into the tag cloud.

Showing page 1 of 1

Various libraries to help with common AI research in knowledge representation and reasoning. DisclaimerWhile the state of this project is active, it is currently in a very Alpha phase and not yet ready for public consumption. Expected release date is January, 2010.

0
 
  0 reviews  |  0 users  |  6,675 lines of code  |  0 current contributors  |  Analyzed 4 days ago
 
 

The "Entrelacs project" aims to develop a revolutionary computing environment, the Entrelacs System, where the "arrow" supersedes the "bit" as the fundamentally smallest piece of information. By "arrow", one means an immutable and uniquely defined oriented ... [More] link between two said "arrows". Entrelacs proposes to represent Knowledge with redundancy-free structures uniquely built from arrows. This new paradigm might be summed up by the credo: everything is arrow. Please also consider reading this Introduction to better understand the thought process behind Entrelacs. Some arrows structure This manner of storing information within a computing system brings to Entrelacs many new properties which distinguish it from more classical systems. In the near future, the EntrelacsSystem could happily stands for a single replacement to most middlewares within a single computer: interpreters, data base managers, file systems, applicative frameworks, and such. It may even evolve as an autonomous operating system on top of dedicated hardware. For the moment, the current prototype is more simply designed as a network (HTTP based) software server on top of a GNU/Linux OS. For a better introduction of the project's technical aspects, see DesignIntroduction. Contact: SylvainGarden [Less]

0
 
  0 reviews  |  0 users  |  12,376 lines of code  |  2 current contributors  |  Analyzed 3 days ago
 
 

This is an implementation of brazilian portuguese metaphone. Its importance is on strings lookups like names, streets names, words (aspell) etc, made as simple as possible. There is a very large text analysis field to explore with it.

0
 
  0 reviews  |  0 users  |  792 lines of code  |  0 current contributors  |  Analyzed 3 days ago
 
 

Welcome to the Singularity Data ProjectWhat is Singularity Data?Singularity Data is a storage and representation system that allows you to relate pieces of information to other pieces of information. It breaks away from the traditional relational model of grid-like table structures by allowing you ... [More] to define connections between pieces of data in an unstructured framework. The storage construct that enables this technology is the Singularity Triplet: Concept Node + Object Node -> Result Node. This states that a result can be determined when pairing up a concept and an object. An example of this is defining the colour of the sky: Concept (Colour) + Object (Sky) -> Result (Blue). Using these triplets we can represent an infinite variety (we hope) of relationships between all forms of data, and eventually, we wish to represent all human knowledge. At a fundamental level, Singularity Data is an experiment in Knowledge Representation and is best classified as a symbolist "is-a" system. ParticipateSingularity Data Forums TheoryComparisons To Other Storage Methods Singularity Data Whitepaper Multiplicity and Inheritance in Singularity Data Singularity Data Modeling - Weather Forecast Reference ImplementationData Schema Development API Initial Data Set How-to GuidesReference Implementation Install Guide Potential ApplicationsBlackboard System Knowledge Base [Less]

0
 
  0 reviews  |  0 users  |  0 current contributors
 
 

This module allows, with the use of python decorators, to transparently select a render function for an HTTP request handler's result. It uses mimeparse to parse the HTTP Accept header and select the best available representation. Currently it only supports (web.py), but other web frameworks ... [More] can be considered. Code example: import web import json from mimerender import mimerender render_xml = lambda message: '%s'%message render_json = lambda **args: json.dumps(args) render_html = lambda message: '%s'%message render_txt = lambda message: message urls = ( '/(.*)', 'greet' ) app = web.application(urls, globals()) class greet: @mimerender( default = 'html', html = render_html, xml = render_xml, json = render_json, txt = render_txt ) def GET(self, name): if not name: name = 'world' return {'message': 'Hello, ' + name + '!'} if __name__ == "__main__": app.run()Then you can do: $ curl -H "Accept: application/html" localhost:8080/x Hello, x! $ curl -H "Accept: application/xml" localhost:8080/x Hello, x! $ curl -H "Accept: application/json" localhost:8080/x {'message':'Hello, x!'} $ curl -H "Accept: text/plain" localhost:8080/x Hello, x! [Less]

0
 
  0 reviews  |  0 users  |  271 lines of code  |  0 current contributors  |  Analyzed about 22 hours ago
 
 

XMIconverter takes a XMI file as input and generates its graphic representation as output.

0
 
  0 reviews  |  0 users  |  0 current contributors
 
 

IntroductionRedcell serializes nested key-value tables into compact binary byte-sequences, and deserializes them back. These operations and the binary format are now supported in both C++ and Python. A table uses unsigned integers as keys, and a value can be: A nil value A signed integer from ... [More] 8bit to 64bit A floating-point number of single (32bit) or double (64bit) precision A string of single-byte characters of any length, allowing all sorts of binany contents Another table The binary format is compact and efficient, in which numbers are compressed and continuous key sequences are omitted as well, plus that each flag indicating the element type occupies just half a byte. Redcell can be compared with JSON, Protocol Buffers, and similar products, and can typically be used in network transfer, or object persistence. C++ UsageThe C++ library of redcell consists only of header files, so any compilation before usage is not needed. Just one header needs to be included manually: #include "redcell.hpp"And its contents is like the modal definitions with comments below, the order of which is not by the source code, but just for ease to understand. namespace redcell { /* Key and value type definitions. A key is an unsigned integer, and a value, besides the types defined below, can also be "nil" (not defined by value) or be another Table. */ typedef std::size_t Key; typedef long long Integer; typedef double Real; typedef std::string String; /* Constants returned when inquiring the type of a certian value. see the methods Table::type and Variant::type. */ enum { NIL = 0x0, INTEGER = 0x1, REAL = 0x2, STRING = 0x3, TABLE = 0x4, }; /* Table is the basic unit of redcell data structure. You manage data built with nested tables, serialize them to binary bytes, and deserialize them back. */ struct Table { /* Table is something like a pointer, holding real data below using a reference-counting mechanism. So do not make reference loops. There are only default-formed ctor/dtor and assignment operator. */ Table(); Table(const Table &rhs); ~Table(); Table &operator =(const Table &rhs); /* Accessing an element in the table, the parameter indicated its position. The type of each value will be decided by which access method is called the latest. If this key does not exist in the table, a new element will be inserted. */ Integer &i(const Key key); Real &r(const Key key); String &s(const Key key); Table &t(const Key key); /* This group of method do read-only access to an element, changing neither its type nor its value, nor its existence. If the calling type differs from the value stored, a TypeError will be thrown. And if the key does not exist, a KeyError will be thrown as well. */ const Integer &ci(const Key key) const; const Real &cr(const Key key) const; const String &cs(const Key key) const; const Table &ct(const Key key) const; /* This group of method is just for convenience, doing read-only access when on a constant Table object. */ const Integer &i(const Key key) const { return ci(key); } const Real &r(const Key key) const { return cr(key); } const String &s(const Key key) const { return cs(key); } const Table &t(const Key key) const { return ct(key); } /* Assign a 'nil' value to a certain key. */ void nil(const Key key); /* Delete an element from the table. */ void del(const Key key); /* Get the type of the value indicated by a key, the return value will be an enumeration value defined above. */ char type(const Key key) const; /* The arrow operator is overloaded to access the real data below the pointer. The class TableImpl is derived from a std::map, and is expected to be used as that. This is typically for Table iteration, and that four typedef's is also for convenience for this. see below for detail of TableImpl. */ TableImpl *operator ->() const; typedef TableImpl::iterator iterator; typedef TableImpl::const_iterator const_iterator; typedef TableImpl::reverse_iterator reverse_iterator; typedef TableImpl::const_reverse_iterator const_reverse_iterator; /* Merge another Table onto this Table. That means all key-value pairs in 'patch' will be inserted into this Table, overwriting all existing values, if any. Except that, if an incoming value and the corresponding local value are both Table, the former will be merged onto the latter using this method as well, rather than to overwrite it. */ void merge(const Table &patch); }; /* Variant is the low-level class for holding one value in the Table. Generally, you will iterate a Table like this: for (Table::iterator i = t->begin(); i != t->end; ++i) { // do something with i->second, which is an object of type 'Variant &'. } */ struct TableImpl: public TableMap {}; typedef std::map TableMap; struct Variant { /* Assign the type and the value of another Variant to this. */ Variant &operator =(const Variant &rhs); /* These groups of access methods below are just the per-Variant versions of these in class Table, accessing the sole value this Variant holds. */ Integer &i(); Real &r(); String &s(); Table &t(); const Integer &ci() const; const Real &cr() const; const String &cs() const; const Table &ct() const; const Integer &i() const { return ci(); } const Real &r() const { return cr(); } const String &s() const { return cs(); } const Table &t() const { return ct(); } void nil(); char type() const; }; /* This dumps the contents of a nested Table tree recursively into a human-readable string, mainly for debugging reasons. */ String dump(const Table &tab); /* These functions serializes a nested Table tree into the redcell binary format, to various destinations. Which can be an iterator (like what the STL algorithms did), a C++ standard stream, or a string. */ template void iteratorPack(const Table &tab, Iterator begin); void streamPack(const Table &tab, std::ostream &os); String pack(const Table &tab); /* These functions deserializes a byte sequence in the redcell binary format back to a nested Table tree, from various sources just like above. If the source format is wrong, a MarshalError will be thrown. */ template Table iteratorUnpack(Iterator begin, Iterator end); Table streamUnpack(std::istream &is); Table unpack(const String str); /* All exceptions redcell throws, all mentioned above. */ struct Error: public std::runtime_error {}; struct KeyError: public Error {}; struct TypeError: public Error {}; struct MarshalError: public Error {}; } Python UsageTo set up into Python, run the scripts redcell provided: ./setup.py build sudo ./setup.py installThen, in Python source, you can import the package and deal with tables. In Python, tables are just native dict's with some constraints: The keys and values must be of the types supported by redcell, i.e. keys must be non-negative integers, and values must be an int, long, float, str, another dict, or None for 'nil'. You can do things just like below: import redcell t = {1: 1234, 4: 'hello', 8: {55: 3.1416}} print redcell.dump(t) raw = redcell.pack(t) u = redcell.unpack(raw) redcell.merge(u, {1: 4321, 8: {66: 2.7183}}) [Less]

0
 
  0 reviews  |  0 users  |  6,082 lines of code  |  0 current contributors  |  Analyzed 3 days ago
 
 

Use PHP to create simple bar graphs for display on web pages.

0
 
  0 reviews  |  0 users  |  192 lines of code  |  0 current contributors  |  Analyzed 11 days ago
 
 
 
 

Creative Commons License Copyright © 2013 Black Duck Software, Inc. and its contributors, Some Rights Reserved. Unless otherwise marked, this work is licensed under a Creative Commons Attribution 3.0 Unported License . Ohloh ® and the Ohloh logo are trademarks of Black Duck Software, Inc. in the United States and/or other jurisdictions. All other trademarks are the property of their respective holders.