Coder Social home page Coder Social logo

jgoerner / meetif.ai Goto Github PK

View Code? Open in Web Editor NEW
7.0 1.0 1.0 9.85 MB

🥶👫🕸Social Knowledge Graph based on data from meetup.com to generate conversation opening iceabreakers (based on RDF(S), RML, Neo4j & other Technologies)

Kotlin 42.23% Dockerfile 0.59% HTML 3.29% CSS 9.57% TypeScript 44.32%
knowledge-graph semantic-web linked-data rdf rdfs owl rml r2ml carml rdf4j

meetif.ai's Introduction

Meetif.ai

Knowledge Graph to break the Ice ❄️

What is Meetif.ai about?

This repository contains a social knowledge graph (meetif.ai) for educational purposes. It fetches data from the social event platform Meetup.com and creates a graph containing events, groups, members, etc. This graph is utilized to generate "icebreaker"between people (available ones). It is noteworthy that the actual raw data is not contained in this repository. Please see meetup.com/meetup_api for more information how to communicate with the Meetup.com API.

What "Icebreaker" are available?

Icebreaker 1 - Common Events 🎫

The first icebreaker suggests events that both persons have been participated in.

What is happening in the background?

Icebreaker 2 - Cultural Differences 👽

If there is no common event, there might be cultural differences that are interesting to talk about.

What is happening in the background?

Icebreaker 3 - friend of a friend of a friend ... 👫👫👫

Yet another option is to check, if you participated in an event with somebody who participated in another event, where also another person participated, who participated in another event, ..., until you reach the other person.

What is happening in the background?

Icebreaker 4 - Facts! 🧠

If none of the aforementioned icebreakers can be applied, there are only facts left. Those include statements like 1000000000000 is the number of bacteria on the surface of the human body or 250 is the number of Pokémon originally available in Pokémon Gold and Silver before Celebi was added.

What is happening in the background?

Technical Background

How to start Meetif.ai?

In order to start the Knowledge Graph run the following command: docker-compose -f "docker-compose.yml" up -d --build

This will start the containerized structure of Meetif.ai which is depicted in the following figure.

Icebreker - behind the scenes

Icebreaker I

  1. an HTTP request is sent to the backend
  2. a SPARQL query is raised against the RDF server
  3. the result of the SPARQL query is returned to the backend ...
  4. ... and to the frontend

Icebreaker II

  1. an HTTP request is sent to the backend
  2. a SPARQL query is raised against the RDF server which is federated to DBpedia
  3. the result of the SPARQL query is returned to the backend ...
  4. ... and to the frontend

Icebreaker III

  1. an HTTP request is sent to the backend
  2. a CYPHER query (including graph traversals) is raised against Neo4j
  3. the result of the CYPHER query is returned to the backend ...
  4. ... and to the frontend

Icebreaker IV

  1. an HTTP request is sent to Numbers API
  2. the result of the CYPHER query is returned to the frontend

Knowledge Graphs

Frameworks

Frameworks Purpose Website
RDF4J store RDF and handle RDF I/O https://rdf4j.org/
Neo4j enabling graph traversals https://neo4j.com/
Spring Boot Backend https://spring.io/projects/spring-boot
React Frontend https://reactjs.org/

Infrastructure

Tool Purpose Website
Gradle Build Tool https://gradle.org/
Docker Handling Infrastructure Components https://www.docker.com/

(Programming) Languages

Language Purpose Website
Kotlin Backend https://kotlinlang.org/
Typescript Frontend https://www.typescriptlang.org/
RML JSON to RDF transformation http://rml.io/
SPARQL RDF Querying https://www.w3.org/TR/sparql11-query/
CYPHER Neo4j Querying https://neo4j.com/developer/cypher-query-language/

Utilized Vocabularies

Ontology Mainly used for Website
foaf Persons http://xmlns.com/foaf/spec/
schema Events http://schema.org/
dbr DBPedia Resources ---

How to contribute

Yes, there are lot of options to further improve this repository. As it's main purpose is to show the possible combination of building blocks, general best practices of software engineering (e.g. TDD) have been neglected.

You are more than happy to raise issues, refactor, open pull requests and improve this repository 🙂

meetif.ai's People

Contributors

jgoerner avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

smartniz

meetif.ai's Issues

Docker container not working - Quick fix

There seems to be an issue with the docker containers, maybe related to file ownership rights. After putting the external provided data folder into meetif.ai/src/main/resources/sample-data and running sudo gradle build in the main folder meetif.ai, it seems to work however (At least on Ubuntu 18.04 LTS).

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.