Giter VIP home page Giter VIP logo

linkeddatabrowser's People

Contributors

dhaeb avatar yamalight avatar ybugge avatar

Watchers

 avatar  avatar

Forkers

aksw

linkeddatabrowser's Issues

ldb_searchtemplate.html refactoring, sodass die JS Bibiotheken anders eingefügt werden

Für alle Script tags / css link tags:

<script type="text/javascript" src="@routes.Assets.at("components/adf-widget-markdown/dist/adf-widget-markdown.js")"></script>
    <script type="text/javascript" src="@routes.Assets.at("components/angular-markdown-directive/markdown.js")"></script>
    <script type="text/javascript" src="@routes.Assets.at("components/showdown/compressed/Showdown.js")"></script>

soll die Scala Template Language zur Deduplikation verwendet werden.

Eingabe RDF Graph von Triple2NL verkleinern, um Performanz und Ergebnisqualität zu erhöhen

Bspw Ausgabe für JSP:

{
    "nl": "Java Server Pages is a template engine, an engine 103287733, a programming language, a motor 103789946, an artifact 100021939, an instrumentality 103575240, a machine 103699975, an information entity, a physical entity 100001930, an object 100002684, a creative work, a whole 100003553, a device 103183080 and a work as well as a software, whose's same a is Java Server Pages, whose's link from a wikipage to an external page is detail ? id = 245, whose's same a is జ ా వ ా సర ్ వర ్ ప ే జ ీ ల ు, whose's standard is detail ? id = 245, whose's extension is \".jsp\", whose's same a is JSP, whose's subject is Java specification requests, whose's subject is Java enterprise platform, whose's wiki page in link count cleaned is 163, whose's same a is ஜ ா வ ா சர ் வர ் ப ே ஜஸ ், whose's same a is 자바 서버 페이지, whose's label is \"JavaServer Pages\", whose's same a is ജ ാ വസ െ ർ ‌ വർ പ െ യ ് ജസ ്, whose names \"JSP\", whose's link from a wikipage to an external page is < https :// jamesgdriscoll . wordpress . com / 2010 / 02 / 09 / servlet - history / >, whose is primary topic of Java Server Pages, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is JSP, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's link from a wikipage to an external page is bnagx . html, whose's subject is Template engines, whose has abstract \"JavaServer Pages (JSP) is a technology that helps software developers create dynamically generated web pages based on HTML, XML, or other document types. Released in 1999 by Sun Microsystems, JSP is similar to PHP, but it uses the Java programming language.To deploy and run JavaServer Pages, a compatible web server with a servlet container, such as Apache Tomcat or Jetty, is required.\", whose's same a is JSP, whose's same a is Java Server Pages, whose's wiki page out link count cleaned is 49, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's mime is \"application/jsp\", whose is derived from Java Server Pages ? oldid = 606592456, whose's same a is صفحات خادم جافا, whose's thumbnail is JSP Model 2 . svg ? width = 300, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is JSP, whose's depiction is JSP Model 2 . svg, whose's same a is เจเอสพ ี, whose's wiki page rank is 1.3867012285118107684e-06, whose's link from a wikipage to an external page is syntaxref 20 . html, whose's same a is JSP, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's homepage is bnagx . html, whose's same a is m . 0 bsn 3, whose's same a is Java Server Pages, whose's same a is JSP, whose's link from a wikipage to an external page is card 12 - 149784 . pdf, whose's same a is Q 183169, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is JSP, whose's link from a wikipage to an external page is jsp - 138432 . html, whose's same a is Java Server Pages, whose's link from a wikipage to an external page is csajsp 2 . html, whose's wikipage revision id is 606592456, whose's wiki hit is 5.2745190259884111583e-06, whose's same a is Java Server Pages, whose's same a is Java Server Pages, whose's same a is JSP, whose's url is jsp - 138432 . html, whose's same a is JSP, whose's comment is \"JavaServer Pages (JSP) is a technology that helps software developers create dynamically generated web pages based on HTML, XML, or other document types. Released in 1999 by Sun Microsystems, JSP is similar to PHP, but it uses the Java programming language.To deploy and run JavaServer Pages, a compatible web server with a servlet container, such as Apache Tomcat or Jetty, is required.\", whose has photo collection Java Server Pages, whose's same a is Java Server Pages, whose's latest release version is 2.2000000000000001776, whose's link from a wikipage to an external page is card 20 . pdf, whose's same a is Java Server Pages, whose's same a is JSP, whose's wikipage page id is 42910, whose's same a is جی ‌ اس ‌ پی and whose's same a is Java Server Pages."
}

Akzeptanz:

  • Beschränkung auf bestimmte Attribute des Graphen
  • Performanzmessung (eventuell ist die Kovertierung von Jena Model zu Triple auch langsam)
  • Rücksprache mit AKSW (Triple2Nl)
  • eventuell bypass von Triple2NL, wenn dbpedia-owl:abstract verwendet werden kann
  • eventuell Caching von bereits konvertierten URIs als letzte Option, die Performanz wenigstens für häufig angefragte URIs zu erhöhen

Serverseitiger Endpoint-Reachable bzw. Sparql-Endpoint Test notwendig

Momentan erfolgt keine Überprüfung, ob der als GET Parameter übergebene Endpoint syntaktisch und semantisch korrekt ist.
Akzeptanz:

  • Endpoint is URI syntax check
  • Endpoint is reachable und eventuell SPARQL Endpoint check, wenn möglich
  • Im Fehlerfall, entsprechende 403 Rückgabe des Servers

Gemeinsamkeiten der Widgets definieren

Akzeptanzkriterien:

  • Entgegennahme der Parameter "subject" und "endpoint"
  • Asynchrone Kommunikation zwischen Client und Server
  • Grundaussehen/Grundfunktionen (Bsp.: Minimieren) der Widgets

Widgets müssen Inhalt vom Server beziehen

Blockiert von:
#10

Akzepzanzkriterien:

  • NL-Markdown Widget muss Controller ansteuern
  • Bilder-Widget muss Controller ansteuern
  • ADF Anpassungen vornehmen (wenn nötig)
  • Rückgabe entsprechend verarbeiten (z.B. URL Liste von Bildern jedes Bild ab und zu darstellen)
  • Testen!

RESTful Service für SemWeb2NL erstellen

Wird geblockt von:
#7

Background Info:

  1. Einen REST Service gibt es leider doch nicht aber wir man einen bauen könnte ist hieraus ersichtlich: https://github.com/AKSW/ASSESS

Akzeptanzkriterien:

  • Hinweis von Axel lesen / evaluieren
  • Implementierung in Scala vornehmen (Einbindung in die Struktur des Play-Frameworks zur Realisierung)
  • es wird getestet:
  • die Eingabedaten für SemWeb2NL können bei POST dem Service bekannt gemacht werden
  • der Service gibt die entsprechende NL Repräsentation zurück

Controller Übereinstimmungen identifizieren

Akzeptanzkriterien:

  • Umstellung der Controller auf die GET-Methode
  • Abstrakte Basisklasse (Trait) zur Wiederverwendung zur Validierung der GET Parameter der Controller
  • alle vorhandenen Controller sollen von dieser Klassen erben, Anpassung Tests erforderlich!!!
  • Validierung erfolgt:
  • wenn "subject" GET Paramter nicht vorhanden --> Fehler
  • wenn "subject" vorhanden, aber kein "endpoint", dann nimm "default endpoint" des servers --> db pedia
  • dannach: Speicherung der Werte als private Membervariablen (mit getter zugriff für abgeleitete Klassen)
  • Definition einer abstrakten process-Methode, die bei erfolgreicher Validierung aufgerufen wird
  • public index-Methode führt Validation durch, nimmt get parameter entgegen, ruft process auf
def index = Action {
  // lese request paramter
  // validiere request parameter
  // wenn erfolgreiche validation, process
  // wenn nicht erfolgreich, fehler zurückgeben
  }

Textwidgets sollten Clientseitig Fox verwenden, um Text mit Links zu versehen

Text in Textwidget wird momentan monoton grau dargestellt. Eine Option wäre clientseitig mit fox einen POST Request an die API zu senden, und wenn ein Ergebnis zurückkommt, den text mit entsprechenden Links aufzuhübschen.
Akzeptanz:

  • mögliche Erstellung eines "fox"-widgets, was nach asynchronen request versucht, dass Tagging mit fox durchzuführen, und bei erfolg dieses html anzeigt und sonst zur grauen Standarddarstellung zurück kehrt
  • Anpassung der "Fox"-Links, sodass bei Klick der LDB verwendet wird (endpoint und uri müssen geändert werden)

Systemübersichtsdokumentation erstellen

Akzeptanzkritieren:

  • Visuelle Darstellung der Systemarchitektur (Big Picture --> Scala, Play, Bootstrap, Angular JS) --> Buzzword: Single Page Application
  • RESTful Schnittstellen auflisten, Aufgaben der Schnittstellen erläutern
  • USE Cases aufnehmen (von Anfrage zu Page, Navigation --> von Klick auf RDF URI zu neuer Page)

Archtikturdokumentation erstellen

Akzeptanzkriterien:

  • README.md erstellen, um Projekt zu beschreiben Englisch!!! (getting started, build, usage, license)
  • RESTful Webservices (ein und ausgabedaten) in Tabellenform dokumentieren und in README.md einbinden
  • Architekturübersichtsgrafiken in README.md einpflegen

RESTful Architektur visualisieren

Folgeticket von #1

RESTful Schnittstellen auflisten (Tabellenform --> Entwicklerdokumentation), Aufgaben der Schnittstellen erläutern

Akzeptanzkriterien:

  • alle vorhandenen Controller / Routes werden beschrieben
  • sinnvolle Ein- und Ausgabedaten werden vorgeschlagen / dokumentiert

Controller für NL soll implementiert werden

Geblockt von:
#7
#8

Akzeptanzkriterien:

  • SPARQL query an endpoint stellen, um RDF Subjekt und direkte Properties zu erhalten
  • SemWeb2NL verwenden (über REST / Scala) zur Generierung von NL aus RDF
  • Rückgabe der NL als JSON {nl : "... the text"}

SemWeb2NL in Projekt einbinden

Background Info:

  1. SPARQL2NL is deprecated. Eine funktionierende Version der Verbalisierung ist unter https://github.com/AKSW/SemWeb2NL zu finden. Installationsinfos sind unter https://github.com/AKSW/SemWeb2NL/wiki/AVATAR zu finden.

Akzeptanzkriterien:

  • SemWeb2NL ist in einem git submodule in unserem Projekt vorhanden (unter Ordner opt)
  • SemWeb2NL ist als Abhängigkeit in unserer POM aufgenommen worden
  • es exisitiert ein Script, welchen sowohl zuerst den Buildprozess von SemWeb2NL als auch unseren Buildprozess ansteuert
  • es existiert eine Art einfacher (offline) library test, der die Funktionalität der Bibliothek grundlegend prüft

SPARQL Anfragekomponente erstellen

Innerhalb von: #11
Akzeptanz:

  • Implementierung der SPARQL-Anfrage mit dem Jena Framework (nach Subject, Construct Query, siehe library JenaTurtleLibraryTest)
  • Ergebnispufferung mit TTL
  • Prüfung Ansynchron / Actor-Modell

Auflistung Webresources

Akzeptanzkriterien:

  • Erstellung von Scala-Play-Controllers für jede Ressource
  • Auflistung in der conf/routes Datei
  • Test der Schnittstellen
  • Zu erstellende (RESTful) Services:
  • Vorschläge für Suche
  • NL für Subjekt
  • Bild aus Subjektname
  • Video aus Subjektname --> wird eventuell später hinzugefügt
  • Geolocation aus Kartendaten von Subjektname
  • Meta Information anzeigen, wenn vorhanden
  • Ähnliche Einträge anzeigen, wenn vorhanden --> wird eventuell später hinzugefügt
  • RDF Links

Abstract des Subjektes Clientseitig darstellen

Benötigt:
#37
#38

Akzeptanz:

  • Textwidget zur Darstellung Verwenden
  • Widget fragt Server nach Existenz des rdfs:comments properties an (siehe #37)
  • Abschaltung des Widgets wie in #38, wenn leeres JSON zurück gegeben wird, sonst entsprechende Darstellung

SparqlQueryCache sollte Cache-Einträge nach gewisser Zeit wieder löschen

Momentan gibt es lediglich nach dem Ablauf des TTL einen neuen Durchgriff auf das Modell, es gibt keinen Thread der nicht angefragte Cacheeinträge nach Ablauf des TTL entfernt.
Akzeptanz:

  • löschen von Einträgen (Models) nach ca. einer Stunde
  • Nutzung des Akka System Scheduler
  • testing der neuen Funktionalität

Angular Dashboard Framework widgets auf selbstständiges abschalten prüfen

Da unsere Widgets asynchrone Anfragen an den Server durchführen, um Ihre darzustellenden Daten zu erhalten, muss im Falle fehlender Daten das Widget selbstständig entscheiden, dass es nicht dargestellt werden soll. Dies muss eventuell selbst ins Framework eingepflegt werden.
Akzeptanz:

  • Mechanismus muss dargestellt werden, wie Widgets bei fehlenden Daten sich selbstständig abschalten können, sodass sie nicht mehr im Frontend angezeigt werden
  • Mechanismus kann als Testfall dargestellt bzw. sollte auch bei eigener Implementierung getestet werden
  • wenn ADF dieses feature bereits mitbringt, ist der Link zur Doku / Code innerhalb des issues ausreichend

GUI-Mockups LDB

Akzeptanzkritierien:

  • Pencil Grobvorstellung der Single Page Application / Dashboard existiert im Gitrepo unter doc
  • Mit Axel Rücksprache nehmen

Videosuche für Subjekt per APIs untersuchen

Akzeptanz:

  • Requests müssen ohne Anmeldung clientseitig (Youtube, Myvideo, etc.) mit vertretbarer Anzahl (bis 100) durchgeführt werden können
  • API Zugriff und Paramter klären
  • je nachdem, ob eine API als geeigent identifiziert wurde, weitere Schritt ergreifen (issues für Client / Widget anlegen und bearbeiten)

Es ist nicht möglich, neue Dashboard Views anzulegen

Fehler Angular Dashboard Framework:

http://localhost:9000/assets/components/showdown/compressed/showdown.js.map Failed to load resource: the server responded with a status of 404 (Not Found)
angular.js:10126 TypeError: Cannot read property 'unshift' of undefined
    at Scope.controller.$scope.addWidgetDialog.addScope.addWidget [as addWidget] (http://localhost:9000/assets/components/angular-dashboard-framework/dist/angular-dashboard-framework.js:463:54)
    at Parser.functionCall (http://localhost:9000/assets/components/angular/angular.js:10903:21)
    at ngEventDirectives.(anonymous function).compile.element.on.callback (http://localhost:9000/assets/components/angular/angular.js:19259:17)
    at Scope.$get.Scope.$eval (http://localhost:9000/assets/components/angular/angular.js:12811:28)
    at Scope.$get.Scope.$apply (http://localhost:9000/assets/components/angular/angular.js:12909:23)
    at HTMLAnchorElement.<anonymous> (http://localhost:9000/assets/components/angular/angular.js:19264:23)
    at http://localhost:9000/assets/components/angular/angular.js:2853:10
    at forEach (http://localhost:9000/assets/components/angular/angular.js:325:18)
    at HTMLAnchorElement.eventHandler (http://localhost:9000/assets/components/angular/angular.js:2852:5)

Angular JS einpflegen

Akzeptanzkriterien:

  • Angluar JS ist im Projekt eingebettet und kann verwendet werden

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.