Giter VIP home page Giter VIP logo

semantic-bus's Introduction

Semantic-Bus

Semantic data transformation & semantic container crawling

Features

  • Ready for 100 MO / 100000 Item per process
  • Multiple source protocol
  • Multiple destination protocol
  • Rich API creation
  • Data transformation without coding
  • Value correspondence (translation between taxonomy)
  • Join data by field
  • Data aggregation from multiple source
  • Complex uniqueness
  • Geo data completion from address
  • Middle cache database for performance
  • Scrapping & crawling
  • Filter
  • Workflow sharing & multi User Edition
  • API parameters usable in workflow components

need tiers

  • Big Data Support (Infinit data Volume)
    • we can do now it with external database as mongodb and advances workflows
  • Authentification to external services other than api tocken (headers or url)
    • we use n8n or nocodeapi if we want to authentify to a data provider

Road map

  • Reusable and preconfigured pattern building from component
    • pattern can be implement now whith workflow trigger by api and body parameters but this could improve.
    • it is now possible using api and call it from an other workflow. Better usability and component have to improve experience and performance.
  • define how pay execution cause by internal API (http provider call by a http consumer of an other workflow)
  • HTTP provider external authentificaiton and restriciton
    • authentified api calling
      • secure api provided by http provider component when calling out of SemanticBus Instance
    • api user restriction
      • define who ca execute HTTP provider
  • better sharing and options of sharing
    • group management
    • change admin
    • change role
  • new ergonomy
  • Automatic Ontology transformation (semantic web)
    • manual transformation now
  • Multiple entry point and exit point for a components
    • entry discrimantaion have to be specified in component now
  • Workflow sharing by Google Drive or other cloud or better wokflow management

Archi

  • Core (./core) ( shared low level services )
  • Main ( ./main ) ( main app : frontend and API)
  • Engine (./engine) ( engine for graph resolution )
  • Timer (./timer) ( service for schedule workflow )

Config

You have to duplicate config.js to local.config.js. Some config properties as googleAuth can be fullfill. Your local.config.js file will be ignore by git.

Launch with docker (recommended)

make (recommended)

( DOCKER-COMPOSE REQUIRED )

make start => start project
make log => log main and engine container
make restart => force recreate
make stop => kill all container

docker container still alive sometime:

docker kill semanticbus_mongo_1
docker kill rabbitmq

docker-compose (Not recommended)

docker-compose up -d

Launch with nvm & npm (Not recommended)

sudo apt-get install g++ build-essential
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

Restart console

nvm install 18
cd core && npm install
cd main && npm install
cd engine && npm install
cd main && node app.js
cd engine && node app.js

semantic-bus's People

Contributors

1000i100 avatar adriengiboire avatar alex3144 avatar bastiensig avatar benoitferchaud avatar bfoucher avatar bouviermullerp avatar dataplayers avatar dependabot[bot] avatar grizio avatar jacx12 avatar maximeboceno avatar mikoteko avatar semanticbusdev avatar simonlouvet avatar srosset81 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

semantic-bus's Issues

retour à la liste des worksapce

Une fois sur la lecture d'un qorksapce il n'est pas ergonomique de retourner à la liste des WS. Je pense qu'il faut rajouter un bouton dans la barre "retour à la liste"

permettre de transferer la propriété

il n'est pas possible de transférer la propriété entre les users. CEla pose probleme quand un user veut trasférer la facturation d'un workflow. Le destinataire du workflow doit l'accepter.

Internationalization

Objective

Have an internationalization system.

Current situation

  • The application is not international
  • It is hard to contribute on text (typos, vocabulary, …)

Expected situation

  • There is an internationalization system
  • Texts are externalized in a file easily usable by non-technical contributors

des keys pour "ranger" le scrapping

Le scrapping exporte toutes les datas trouvées à plat. Il faudrait pouvoir préciser une key par chemin de scripping et placer les datas issues de ce chein dans la key en question

Nom du composant

Placer le nom du composant en haut et non en bas du formulaire d'édition de composant
capture d ecran 2017-07-27 a 19 28 46

Avoir un nom et une icone pour chaque composant

Yop, je pense pas que ça soit beaucoup de taf alors je me permet de demander cette amélioration de l'ergonomie !
Y'a plusieurs composant qui apparaissent comme ça :
image
Un nom (en francais si possible) aiderait grandement les nouveaux utilisateurs je pense !

google connection redirection

Revoir connection google auth problème de redirection lors de la verification du token en url sur application.html ( fiabilité du bug 70% autre source possible )

Composant: Mapping Value - Option pour retourner directement un tableau

Partant d'un object

{
   tableau: ["Agriculture", "Education"]
}

Si je passe dans le composant mapping value j'aurais quelque chose du genre

{
   tableau: [
    { originalValue: "Agriculture", translatedValue: "agri" }
   { originalValue: "Education", translatedValue: "educ" }
   ]
}

Je propose d'ajouter une option dans le composant pour plutôt retourner directement le tableau mappé

{
   tableau: ["agri", "educ"]
}

Personnellement je pense que le comportement par défault devrait être le dernier (retourner directement le tableau mappé), et l'on pourrait choisir une option genre "conserver la valeur d'origine"

Merci !

timer is down

Le timer ne semble plus déclencher les workflows

install info

Salut a vous (c Jean-marie du mmfest)!

Je ne sais pas bien utiliser Github et le README ne m’est pas clair. (Je n’arrive pas à l’utiliser en local)
« ssh-keygen -t rsa ajouter la clef publique généré (.ssh/id_rsa.pub) dans l'admin de github git clone [email protected]:assemblee-virtuelle/Semantic-Bus.git git submodule init git submodule update sudo apt-get install g++ build-essential curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash redemarer console mvn install 8.1.4 nmp install »
C’est une longue phrase pas claire pour moi…:/ Surtout « ssh-keygen -t rsa ajouter la clef publique généré (.ssh/id_rsa.pub) dans l'admin de github » là je ne sais pas où il faut mettre la clef…

(Peut-être connais-tu déjà https://nodered.org/ ?)
merci!

enchainement de connection

scenario :
créer un WS et ajouter 3 composants
save WS
navigation sur un composant
connect after sur un second
save
navigation sur le composant connecté
connect after sur le troisième
save

résultat : les 2 derniers ne sont pas connectés

contournement : recharger l'application entre chaque connections

Connexion Grappe avec IE ne fonctionne plus

Je n'arrive plus a me connecter avec mon compte Grappe sur edge uniquement.
Pas de message d'erreur Identification.
Et la page login ne s'affiche plus sur IE (écran blanc)

syntaxe camint

la syntaxe utilisé pour le composant de connection sql camint doit être celle de la scpécification de camint

image

Composant: Property matrix

La suppression d'une ligne du tableau ne fonctionne pas dans la Composant property matrix sur Windows et Linux. Testé sur Firefox

crawling : key="url"

dans le cas du crawling, les url trouvées doivent être placée dans une key "url". cela veut dire qu'une checkbox doit être à disposition pour chaque chemin : si la case à cocher "crawling" est cochée , il n'est pas proposé de saisir une key qui sera obligatoirement "url".

Le scrapping avec un flux entrant réalise le scrapping pour toutes les key "url" présentent dans le flux.

Supprimer un workflow ne fonctionne pas

J'ai bien la pop up "vous êtes sur de supprimer" qui s'affiche, mais quand lick ok rien ne se passe. Si j'actualise la page les worflow sont toujours là

Chromium 70.0

API google

setter la clé api de google depuis l'espace "mon profil"

bug lors de l'import d'un fichier CSV

Error
at readStream (/home/busdev/GIT/Semantic-Bus/node_modules/raw-body/index.js:196:17)
at getRawBody (/home/busdev/GIT/Semantic-Bus/node_modules/raw-body/index.js:106:12)
at read (/home/busdev/GIT/Semantic-Bus/node_modules/body-parser/lib/read.js:76:3)
at jsonParser (/home/busdev/GIT/Semantic-Bus/node_modules/body-parser/lib/types/json.js:121:5)
at Layer.handle [as handle_request] (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:312:13)
at /home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:330:12)
at next (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:271:10)
at initialize (/home/busdev/GIT/Semantic-Bus/node_modules/passport/lib/middleware/initialize.js:53:5)
at Layer.handle [as handle_request] (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/layer.js:95:5)
at trim_prefix (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:312:13)
at /home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:280:7
at Function.process_params (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:330:12)
at next (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/index.js:271:10)
at cors (/home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:179:7)
at /home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:229:17
at originCallback (/home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:218:15)
at /home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:223:13
at optionsCallback (/home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:204:9)
at corsMiddleware (/home/busdev/GIT/Semantic-Bus/node_modules/cors/lib/index.js:209:7)
at Layer.handle [as handle_request] (/home/busdev/GIT/Semantic-Bus/node_modules/express/lib/router/layer.js:95:5)

migrate lib/core

lib/core is in main. timer refer main in prod. lib/core have to be migrate to root. timer have to be refer lib at root as main

Composant: Unicity

La suppression d'une ligne du tableau ne fonctionne pas dans la Composant Unicity sur Windows et Linux. Testé sur Firefox

Le composant Framacalc ne fonctionne plus

Objectif

Corriger le composant framacalc

Situation actuelle

Lors de la récupération des données via le composant framacalc, nous ne récupérons plus aucune ligne.

Situation attendue

Nous pouvons de nouveau récupérer les données via framacalc.

Remarque

Framacalc est basé sur Ethercalc. Il serait plus pertinent de renommer ce composant Ethercalc et de le rendre plus générique.

change ihm path

ihm est un acronyme francais. Il faudrait le remplacer par ui

Transformeur SPARQL

Composant intermédiaire qui lit et sort du JSON-LD, et permet de faire une requête SPARQL

Triage: autres possibilités de liaison avec le Web Sémantique

Clairement un plus gros morceau:

  • stockage SPARQL à la place ou en + du stockage MongoDB

Lien vers issue Semantic_forms ETL (possibilité de chercher une propriété par son libellé, et son libellé sera en fait le nom de colonne CSV)
jmvanel/semantic_forms#159

CI policy review

circle CI is linked to [email protected]. open-source developpers are not able to maintain this part. its is a problem in my opinion. Circle CI launch production and this part have to keep in data players policy and not open-source community

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.