Human-Computer Interaction Center Dr. Andr Calero Valdez Lehrstuhl - - PowerPoint PPT Presentation

human computer interaction center
SMART_READER_LITE
LIVE PREVIEW

Human-Computer Interaction Center Dr. Andr Calero Valdez Lehrstuhl - - PowerPoint PPT Presentation

Human-Computer Interaction Center Dr. Andr Calero Valdez Lehrstuhl fr Communication Science Human-Computer Interaction Center An open-source object-graph mapper for neo4j and scala: renesca https://github.com/renesca/renesca-magic Felix


slide-1
SLIDE 1

Human-Computer Interaction Center

  • Dr. André Calero Valdez

Lehrstuhl für Communication Science Human-Computer Interaction Center

slide-2
SLIDE 2

An open-source object-graph mapper for neo4j and scala: renesca

https://github.com/renesca/renesca-magic Felix Dietze, Johannes Karoff, André Calero Valdez, Christoph Greven, Ulrik Schroeder, Martina Ziefle

slide-3
SLIDE 3

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Research: Integrative Production Technology

  • 4 Integrated Cluster

Domains

  • 3 Cross Sectional

Processes

  • 180 Researchers from

40 institutes

slide-4
SLIDE 4

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

  • Scientific Cooperation Portal
  • Social Portal
  • Centralized means of

administration

  • Central data storage
  • User profiles

§ Method competencies § Publication lists

  • Interdisciplinary support

§ Interdisciplinary glossaries § Project planning § Technology transfer

9/26/18

Scientific Cooperation Portal

slide-5
SLIDE 5

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Our Task: Graph-based Discussion System

  • Argument mapping
  • NEO4J (fast GDB)
  • Graph visualization using D3.js
  • How to manage hyper-edges?
slide-6
SLIDE 6

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Why use Scala?

  • JVM compatible
  • Makros
  • Multiple Inheritance (traits)
  • Other benefits (functional programming

benefits)

slide-7
SLIDE 7

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Impedance Mismatch Graph OO

  • OO Programming
  • Fits mental model
  • type-safety (syntax checking)
  • Inheritance (code reuse)
  • encapsulation (prevent side-effects)
  • Etc.
  • Graph-DB – Efficient Graph Traversal
  • Graph-based data structure
  • Local Neighborhood over Indexed-Search
  • Use-Case dependent
slide-8
SLIDE 8

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

How to define DB-Models ER-Diagrams

Entity Entity property relationship

slide-9
SLIDE 9

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Scala-DSL for ER-Model DSL – Domain Specific Language

Animal Food name eats name amount

slide-10
SLIDE 10

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Renesca Magic

  • Boilerplate classes and factories (Nodes, Relations,

Graphs)

  • getters, setters and factories for properties (type-safety)
  • Boilerplate for Hyperrelations
  • Node and Relation traits for labels and properties
  • functionality for free
  • Accessors for neighbors on Nodes, over Relations and

Hyper-Relations

  • Filtered set accessors for Nodes, Relations and traits in

a Graph

  • Query
slide-11
SLIDE 11

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Overview of Renesca Transactions and OGM

slide-12
SLIDE 12

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

Very Simple Benchmark Comparison of inserting data

  • Comparing runtimes of simple

queries

  • Not extensive
  • No large data model
  • No complex transactions
  • Open-Source
slide-13
SLIDE 13

Lehrstuhl für Communication Science Human-Computer Interaction Center RWTH Aachen University

LiveDemo in Scala REPL Usage of renesca-magic What is staged?

  • Basic schema-definition
  • Load Schema definition in REPL
  • https://github.com/renesca/renesca-magic (Examples and Tutorial)
  • Problem? -> Issues!