pirati-cz / gapi

Final GAPI implementation
The Unlicense
3 stars 1 forks source link

Project structure mismatch #11

Open vencax opened 10 years ago

vencax commented 10 years ago

Why there is no "only node.js" code (library) with simple env based configuration && another project that tries to encapsulate that lib into docker container for "easier" deployment?

vencax commented 10 years ago

I have my presonal doubt that this works: when there is "require('./lib')" in https://github.com/pirati-cz/gapi/tree/master/core/app/gapi and no lib folder :)

vencax commented 10 years ago

try to adopt: http://en.wikipedia.org/wiki/Separation_of_concerns

vencax commented 10 years ago

Aha: https://github.com/pirati-cz/graph-common but authored on 14th may? :) What is then this: https://github.com/pirati-cz/graph ? Too many repos?

scippio commented 10 years ago

graph* repos are deprecated now

tomasklapka commented 10 years ago

@vencax They are just old prototypes as we were trying to establish basic concepts allowing data federation and offer a data layer framework (RESTful/JSON API) providing data layer to any application (similar as FB's Open Graph API). When we understood RDF, Semantic Web and Linked Data, we have realised it already does most of features we need.

As a bonus it is already standardized and used all around (even by FB). There are already plenty of tools, frameworks, storages, APIs, programming libraries, SQL-like Query language SPARQL, URI as a unique identifier making resources accessible on the internet, way how to express metadata and relations into any level of data model details, hundreds of ontologies we can reuse, expert systems, and much more.

It is also recomended by W3C and very well standardized from the beginning when TimBL started speaking about next steps in evolution of the internet.

GAPI is going to be just a Semantic Web Framework, which should be easily installable and it should allow publishing any data over HTTP and query-able by SPARQL.

Recommended sources:

From the author's introduction:

. . . we will begin by trying to understand the architecture of the Web -- what it got right and, occasionally, what it got wrong, but most importantly why it is the way it is. We will learn how it allows both users and search engines to co-exist peacefully while supporting everything from photo-sharing to financial transactions.

We will continue by considering what it means to build a program on top of the Web -- how to write software that both fairly serves its immediate users as well as the developers who want to build on top of it. Too often, an API is bolted on top of an existing application, as an afterthought or a completely separate piece. But, as we'll see, when a web application is designed properly, APIs naturally grow out of it and require little effort to maintain.

Then we'll look into what it means for your application to be not just another tool for people and software to use, but part of the ecology -- a section of the programmable web. This means exposing your data to be queried and copied and integrated, even without explicit permission, into the larger software ecosystem, while protecting users' freedom.

Finally, we'll close with a discussion of that much-maligned phrase, 'the Semantic Web,' and try to understand what it would really mean.

tomasklapka commented 10 years ago

@vencax ./lib directory is created when coffeescript is compiled

vencax commented 10 years ago

It would be lovely if such info were in README. And the deprecated repos are either deleted or lived as a branch of active project.

scippio commented 10 years ago

We had separate repos, but I merged it for a easier installation and development. But I think we can now split install/docker and core (nodejs package + another packages in future) into stand alone repo (something like gapi-core repo etc.). But not more... I think this is enough... :)