[deepamehta-german] Die Example-WebApp starten

Jörg Richter jri at deepamehta.de
Fr Jun 12 17:35:02 CEST 2015


Hallo Christiane,

daß Du Deine Masterarbeit evt. mit DM realisieren möchtest freut uns!

Was Du beschreibst ist in knapp 2 Monaten auf jeden Fall zu schaffen.

Eine erste funktionierende Version Deiner Projekt-Tagging Anwendung kannst Du mit DM **an einem Tag** herstellen, völlig ohne Programmierung. Rein interaktiv mit Hilfe des Standard DM Webclients.

Das geht im Wesentlichen so: erzeuge 2 Topic Typen -- "Projekt" und "Tag" -- und verbinde sie miteinander. Die Verbindung wäre vom Typ "Aggregation Definition" und die Kardinalität "Many". Fertig. Du definierst also das Datenmodell interaktiv im Webclient und kannst dann die Anwendung sofort benutzen, ebenso im Webclient. Da der Webclient eine Webanwendung ist kannst Du die auch auf einem Server installieren und Deine Anwendung gemeinsam mit anderen benutzen.

Der DM Webclient ist also ein Modellierungswerkzeug und gleichzeitig eine universelle Benutzeroberfläche. Generische Funktionen wie Create, Search, Edit, Associate, Delete sind im Webclient bereits implementiert. Wenn Du domänenspezifische Funktionen brauchst kannst Du ein DM Plugin entwickeln. Ein DM Plugin kann sowohl den Webclient erweitern als auch serverseitige Dienste anbieten, auf die der Webclient -- oder andere Applikationen -- per REST-Schnittstelle zugreifen.

Auch wenn das nicht Deinem Ansatz der serverseitigen HTML-Generierung entspricht: auf dem DM Webclient aufsetzen ist der Weg den ich Dir empfehlen würde. Ergebnis ist eine moderne interaktive AJAX-basierte Single-Page Anwendung (SPA). Im einfachsten Fall ganz ohne Programmierung. Alles andere ist aufwändiger.


Zu Deinem Problem mit den 2 Personen: Du kannst beliebig viele Topics des gleichen Typs mit gleichem Namen erzeugen. 2 Personen mit gleichem Namen sind kein Problem für DM. Die Topic-Namen haben nur für den Menschen eine Bedeutung. Die Maschine identifiziert die Topics mit einer internen ID.

Es gibt aber Ausnahmen, denn manche Topics sind mit Logik hinterlegt. Z.B. darf es keine 2 "User Accounts" mit gleichem Usernamen geben. Denn ein User Account ist per Username identifiziert. (Das ist wahrscheinlich bei den meisten Systemen so, wo es Accounts gibt.)

Ich bin mir ziemlich sicher, daß Du 2 User Accounts mit gleichem Usernamen angelegt hast. Daß DM das nicht verhindert -- und beide Accounts dann unbenutzbar sind -- ist ein (schwerwiegender) Fehler in DM und muß unbedingt schnell repariert werden. Ich habe dazu ein Ticket geschrieben:
https://trac.deepamehta.de/ticket/799

Vielen Dank für den Hinweis!

Sag' bescheid wenn Du weitere Fragen hast, z.B. zur Modellierung oder Plugin-Entwicklung.
Auch Fragen zur serverseitigen HTML-Generierung beantworten wir natürlich gerne :-)

Grüße
Jörg


On Jun 11, 2015, at 14:29, Christiane Gießler wrote:

> Hallo Jörg,
> 
> ja klar gerne! An alle anderen: Unten findet ihr mein Vorhaben für meine Master Thesis, was ich eventuell mit Deepamehta realisieren könnte. Hier die Frage, ob das ganze machbar ist und wenn ja wie würdet ihr dabei vorgehen?
> Das ganze würde ich mit einem serverseitigen Ansatz umsetzen, ich denke AJAX brauche ich dafür nicht.
> Mein Kontext würde dann in die Entwicklungs- und nicht in die Anwenderrichtung gehen, da ich das Framework nicht als GUI nutzen würde.
> 
> 
> Viele Grüße
> 
> Christiane
> 
> 
> Am 11.06.2015 14:13, schrieb Jörg Richter:
>> Hallo Christiane,
>> danke für Deine Antwort!
>> Dein Vorhaben ist interessant.
>> Hast Du etwas dagegen Deine Mail nochmal an die Liste zu schicken im
>> Sinne eines breiteren Austauschs?
>> In jedem Fall antworte ich in Kürze.
>> Grüße
>> Jörg
>> On Jun 11, 2015, at 11:38, Christiane Gießler wrote:
>>> Hallo Jörg,
>>> danke für deine ausführliche Antwort!
>>> Ich bin Wirtschaftsinformatikerin und schreibe aktuell meine Master Thesis zum Thema: "Wissensmodellierung und semantische Suche am Beispiel einer Projektdatenbank für IoT Projektmanager". Ich wollte die zugehörige Datenbank selbst aufsetzen, habe mich dann aber noch einmal umgesehen, ob es bereits eine ähnliche Lösung gibt. Deepamehta nutzt Neo4J, was ich ebenfalls als Favorit gesehen habe (Aufgrund einer semantischen Suche und Tagging von Projekten wäre eine relationale DB hier nicht ausreichend).
>>> Ist es aber von euch aus gesehen realistisch mein Vorhaben mit Deepamehta in weniger als 2 Monaten umzusetzen? Ich bin leider etwas spät auf euch gestoßen. Meine Anforderungen sind:
>>> Projekte in einer Datenbank abzulegen (könnte in diesem Fall ein Objekt sein), diese mit Tags zu versehen (entweder durch das Plugin Tags oder durch Notizfelder) und miteinander zu verbinden. Es soll möglich sein, in einem Webspace via Suchfeld nach Projekten oder Tags zu suchen, sodass der Nutzer beispielsweise die nahestehensten Projekte als Ergebnis erhält (was ganz gut mit Neo4J handhabbar ist). Ebenso sollen Anwender selber Tags an vorhandene Projekte anlegen können. Ein Nice to have ist, dass Tags eine Relevanz erhalten, sodass nach und nach klar wird, welche Tags die wichtigsten sind.
>>> Beim letzten Beispiel gab es bei Deepamehta allerdings Probleme. Als ich bewusst zwei Personen gleich benannt hatte und mich später neu einloggen wollte, war das ganze System dank Javaerror nicht mehr nutzbar (Da der Zugriff auf zwei gleich benannte Objekte nicht möglich ist und keine Abfrage erfolgt ist). Das könnte schwierig werden, wenn ich späteren Nutzern die Option geben möchte, selber Projekte einzutragen. Was sagt ihr?
>>> Viele Grüße
>>> Christiane



Mehr Informationen über die Mailingliste german