Skip to main content

A collaborative blogspace for constructing and publishing semantic knowledge networks and ontologies

None

Project description

==============
GNOWSYS Studio
==============

A collaborative workspace (studio) for constructing and publishing semantic
knowledge networks and ontologies.


Features
========

The application is devided into two sub-apps. Gstudio and
Objectapp. The former includes classes for organizing the network or
constructing an ontology. The latter includes classes for holding the
instances of object-types, process-types and system-types.

Gstudio Components
------------------

* Metatypes

To hold Classes which have other classes as its members. e.g. "abstract noun", "adjective", "phylem", "class", "genus", "species" etc.
* Object types

To hold Classes: e.g. "thing", "being", "living being", "animals", "cat", "place", "person" etc.
* Relation types

To define binary relations (object properties) between classes and objects. e.g., "part of", "friend of", "composed of", "located in" etc.
* Attribute types

To define datatype properties for classes and objects. e.g., "population", "size", "length", "height", "first name", "phone number" etc.
* System types

To bring together some of the classes into a system or
an ontology, a collection of the types defined above for
convenience. You can bring together the required classes, relations
and attributes into
* Process types

To define a process as prior and post states of classes or objects.
* Attributes

To store attributes
* Relations

To store binary relations
* Node Specification

A node specified (described) by its relations or attributes or both.
* Relation Specification

To create an expression using a relation with a subject, e.g.,
"friend of Tom", "components of a cell" etc.

* Attribute Specification

To specify an attribute by a subject to say for example: population
of India, color of a flower etc. These do not yeild a proposition
but an expression, which can be used as a subject in another
sentence.

* Expression

Expression is more like a relation between two terms, but it does not yeild a proposition, e.g.,
"Researchers in India", "students residing in India" etc. It is modelled more like relation
class, except that the result is not a proposition/triple.

* Union

To define a class by a union relation between two or more classes.

* Complement

To define a class as a compleemnt of two or more classes.

* Intersection

To define a class as an intersection between two or more classes.

Objectapp Components
------------------

* Objects

To hold the instances of Object types: "Mumbai", "Tom" etc.

* Systems

To hold the instances of System types.

* Processes

To hold the instances of processes.

Online Collaborative Platform
=============================

The application is built as a collaborative on line platform with the following features.

Version Control
---------------

All the changes by the users will be recorded. This feature is implemented using using django-reversion.

User Registration
-----------------

Basic registration, authentication mechanism.


Network Navigation using SVG graphs
==================================

* neighbourhood graphs and concept graphs



Other Semantic Web features
===========================

* data in RDF format
* rdf feed to a triple store
* sparql endpoint

Features to be implemented
==========================

* export and import of standard knowledge representation languages: CL, OWL, XTM etc.

Features adopted from Django-Blog-Zinnia
========================================

The following features are adopted from django-blog-zinnia code base
with a lot of gratitude. Thanks to an excellent codebase of
django-blog-zinnia, which taught us best software development
practices as well! After reviewing each feature for the purpose of
semantic blogging, we will retain or extend the following features.

The features listed here are not thourougly tested. There is a likelyhood of misbehavior.

* Comments
* Sitemaps
* Archives views
* Related entries
* Private entries
* RSS or Atom Feeds
* Tags
* Advanced search engine
* Prepublication and expiration
* Editing in MarkDown, Textile or reStructuredText
* Widgets (Popular entries, Similar entries, ...)
* Spam protection with Akismet or TypePad
* Admin dashboard
* MetaWeblog API, xmlrpc
* Ping Directories
* Ping External links
* Bit.ly support
* Twitter support
* Gravatar support
* Django-CMS plugins
* Collaborative work
* Tags autocompletion
* Entry model extendable
* Pingback/Trackback support
* Blogger conversion utility
* WordPress conversion utility
* WYMeditor, TinyMCE and MarkItUp support
* Ready to use and extendables templates
* Windows Live Writer compatibility

Examples
========

A sandbox site will give you a preview of the application. Visit http://sbox.gnowledge.org/

Project Page
============

The project management is done from Savannah: https://savannah.gnu.org/projects/gnowsys/

Mailing list
============

Join this list if you are intersted in using or contributing as a hacker.

http://gnowledge.org/cgi-bin/mailman/listinfo/gnowsys-dev

============
Installation
============

.. module:: gnowsys-studio

.. _dependencies:

Dependencies
============

Make sure to install these packages prior to installation :

* `Python 2.x`_ >= 2.5
* `Django`_ >= 1.3
* `django-mptt`_ >= 0.4.2
* `django-tagging`_ >= 0.3.1
* `BeautifulSoup`_ >= 3.2.0
* `django-xmlrpc`_ >= 0.1.3
* `pyparsing`_ >= 1.5.5
* `django-reversion`_ >= 1.5.1
* `django-grappelli`_ >= 2.3.4
* `django-ratings`_ >= 0.3.6
* `rdflib`_ >= 3.0.0
* `django-registration`_ >=0.8
* `django-4store`_ >= 0.3
* `HTTP4Store`_ >= 0.2
* `html5lib`_ >= 0.95
* `PIL`_ >= 1.1.7
* `diff-match-patch`_ >= 20120106


Note that all the dependencies will be resolved if you install
gnowsys-studio with :program:`pip` or :program:`easy_install`,
excepting Django.

.. _getting-the-code:

Getting the code
================

.. highlight:: console

For the latest version of Gstudio use :program:`easy_install`: ::

$ easy_install gnowsys-studio

or use :program:`pip`: ::

$ pip install gnowsys-studio

You could also retrieve the last sources from
https://github.com/gnowgi/django-gstudio. Clone the repository
using :program:`git` and run the installation script: ::

$ git clone git://github.com/gnowgi/gnowsys-studio.git
$ cd gnowsys-studio
$ python setup.py install

or more easily via :program:`pip`: ::

$ pip install -e git://github.com/gnowgi/gnowsys-studio.git#egg=gnowsys-studio

.. _applications:

Applications
============

.. highlight:: python

Then register :mod:`gstudio`, `objectapp`, and these following
applications in the :setting:`INSTALLED_APPS` section of your
project's settings. ::

INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.sitemaps',
'django.contrib.comments',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.sites',
'mptt',
'reversion',
'tagging',
'django_xmlrpc',
'grappelli.dashboard',
'grappelli',
'gstudio',
'objectapp',
'django.contrib.admin',
'django.contrib.admindocs',
'django.contrib.staticfiles',
'djangoratings',
'registration',
'graphviz',
'demo',
'fourstore',
'HTTP4Store',
'html5lib',
# Uncomment the south entry to activate south for database migrations
# Please do install south before uncommenting
# command: sudo pip install south
# 'south',
)

.. _template-context-processors:

Template Context Processors
===========================

Add these following
:setting:`template context processors<TEMPLATE_CONTEXT_PROCESSORS>` if not
already present. ::

TEMPLATE_CONTEXT_PROCESSORS = (
'django.core.context_processors.auth',
'django.core.context_processors.i18n',
'django.core.context_processors.request',
'django.core.context_processors.media',
'django.core.context_processors.static',
'gstudio.context_processors.version',) # Optional

.. _urls:

URLs
====

Add the following lines to your project's urls.py in order to display the
site.

Note that the default gnowsys-studio URLset is provided for convenient
usage, but you can customize your URLs if you want. Here's how: ::

urlpatterns = patterns(
'',
(r'^$', 'django.views.generic.simple.redirect_to',
{'url': '/home/'}),
url(r'^home/', home_view),
url(r'^more/',more_view),
url(r'^nodetypes/', include('gstudio.urls')),
url(r'^objects/', include('objectapp.urls')),
url(r'^comments/', include('django.contrib.comments.urls')),
#URL for XMLRPC
url(r'^xmlrpc/$','django_xmlrpc.views.handle_xmlrpc'),
url(r'^i18n/', include('django.conf.urls.i18n')),
url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
url(r'^admin/gstudio/', include('gstudio.urls.ajaxurls')),
url(r'^admin/', include(admin.site.urls)),
url(r'^objects/admin/', include(admin.site.urls)),
url(r'^nodetypes/admin/', include(admin.site.urls)),
url(r'^grappelli/', include('grappelli.urls')),
url(r'^accounts/register/$', register, {'backend': 'gstudio.regbackend.MyBackend','form_class': UserRegistrationForm}, name='registration_register'),

url(r'^accounts/', include('registration.urls')),

url(r'^$', 'django.views.generic.simple.redirect_to',
{ 'template': 'index.html' }, 'index'),
)

.. _static-files:

Static Files
============

Since the version 1.3 of Django, gnowsys-studio uses the
:mod:`django.contrib.staticfiles` application to serve the static files
needed. Please refer to
https://docs.djangoproject.com/en/dev/howto/static-files/ for more
informations about serving static files.

.. _`Python 2.x`: http://www.python.org/
.. _`Django`: https://www.djangoproject.com/
.. _`django-mptt`: https://github.com/django-mptt/django-mptt/
.. _`django-tagging`: https://code.google.com/p/django-tagging/
.. _`BeautifulSoup`: http://www.crummy.com/software/BeautifulSoup/
.. _`pyparsing`: http://pyparsing.wikispaces.com/
.. _`django-xmlrpc`: https://github.com/Fantomas42/django-xmlrpc

CHANGELOG
=========

0.10
----

Project details

None

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gnowsys-studio-0.4.dev.tar.gz (1.4 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page