Spelling suggestions: "subject:"neo4j"" "subject:"neo4js""
1 |
COMPARISON OF GRAPH DATABASES AND THE JOIN CORENarne, Kavya 01 December 2016 (has links)
We are now in an era where the technology has rapidly become democratized. The restrictions of relational databases to address the requirements of contemporary application domains, such as semantic web and social networking, where data has an inherited graph structure underlying in it, leads to the development of new technology called Graph Databases. Graph databases can be defined as those in which data structures for the schema and instances are modelled as graphs and data manipulation is expressed by graph-traversal operations. On the other hand, the Complexity involved in the relational model to process large queries quickly involving complex join operations leads to the development of the Join-Core. The Join Core consists of a set of tables that store the relationships of data. With join core, no relations or intermediate results need to be retrieved, generated, or transferred, only query results need to be transferred over the networks. In this study, an overview and comparison of current graph database models like AllegroGraph, FlockDB, Neo4j, Sones, DEX etc. is presented. The comparison shows that Neo4j is the most popular and highly recommended among all graph databases. Also the experimental results of Join Core against Neo4j graph database shows that join core performance is more efficient that Neo4j when the query has complex join operations involved in it.
|
2 |
A graph database implementation of an event recommender systemOlsson, Alexander January 2022 (has links)
The internet is larger than ever and so is the amount of information on the internet.The average user on the internet has next to endless possibilities and choices whichcan cause information overload. Companies have therefore developed systems toguide their users to find the right product or object in the form of recommendersystems. Recommender systems are tools created to filter data and find patternsto recommend relevant information for specific customers with the help of differentalgorithms. MarketHype is a company that aggregates large amounts of data aboutevent organizers, their events, their visitors, and related transactions. They want inthe near future to be able to manage and offer event organizers recommended targetgroups for their events using a recommender system.This study tries to find a solution on how to model event data in a graph databaseto support relevant recommendations for event organizers. The method used to answer the question was an empirical research method. The goal was to create aprototype of a recommender system with help of event data. The main focus was tomodel a graph database in the software Neo4j that can be used for finding recommendations with different Cypher queries. A literature study was later conducted tofind what advantages and disadvantages a graph database could have on event data.This information could then answer how further development of the system couldwork.The result was a system that was implemented with the help of data from fourdifferent CSV files. The data provided were information about contacts, persons,orders, and events. This information was used to create the nodes and relationships.A total of 4.4 million nodes were created and around 5 million relationships betweenthose nodes. Collaborative and content-based filtering was the main recommendationtechnique used in order to find the best-suitable recommendations. This was donewith different queries in Cypher.The main conclusion is that a graph database in Neo4j is a good method in orderto implement a recommender system with event data. The result shows that thecollaborative filtering approach is a major factor in the system’s success in findingrelevant information. The approach of letting other contacts decide what the originalcontract wants is proven to work well with event data. The result also states thatthe recommendation is more of an indication because it returns what supposedlywould be the preferences for a contact. A solution for a better recommender systemwas found which includes another layer to the content-based filtering in the form ofcategorized events.
|
3 |
An interactive web tool for importing data to a graph databaseRosberg, Oscar January 2022 (has links)
As society becomes more data-driven, new alternative technologies to the more traditional relational database model arise. One of these technologies is the graph database model, which stores the data as nodes and edges, where the edges define the relationships between the nodes representing entities. Graph databases are a great fit for data with dense and dynamic relationships, such as social networks, fraud detection and recommendation engines. At the Swedish Pensions Agency, the unit working with fraud detection has rapidly increased personnel due to increased demand for fraud prevention. New technologies are being investigated to improve the efficiency in both detection of current fraudulent activities and also to detect suspicious activities and persons to prevent fraud from even happening. The scope of this thesis is to develop a tool as a proof of concept to import data through the web browser into a graph database, namely Neo4j. The evaluations show that importing nodes and relationships with the tool is slower than importing with Neo4j LOAD CSV. However, the performance is still reasonable for data sets of a few hundred thousand nodes or relationships. The evaluations with the Swedish Pensions Agency show that the tool could bring value to them by removing the complexity of writing code.
|
4 |
A comparison of Neo4j and MySQL for a traditional information applicationNaisan, Raheb January 2013 (has links)
Grafdatabasen och NoSQL-rörelsen har på senaste tid fått mycket uppmärksamhet ochpopularitet. Grafdatabasen har ett rykte om sig att vara snabb och e ektiv för applikationstypersom innehåller enorma mängder data och många komplexa relationer.Studier undersökta i denna rapport visar att de tidigare utförda experimenten jämfördatabaserna för applikationer som har gynnat grafmodellen. Denna rapport har som syfteatt dels undersöka databaserna men även att utföra ett experiment. Syftet med experimentetär att ta reda på ifall grafdatabasen Neo4j kan ersätta relationsdatabasen MySQLför en traditionell informationsapplikation som vanligtvis implementeras med en relationsdatabas.Studiens resultat visar att Neo4j presterar väldigt bra vid insättning och sökning, docktar studien upp era faktorer som spelar roll för valet av databas. Bristen av säkerhet ochstöd är sådana faktorer som gör att relationsdatabasen kan vara det optimala valet för entraditionell informationsapplikation. / Graph databases and the NoSQL movement has recently gained much attention and popularity.Graph databases has a reputation for being fast and e cient for application typesthat contain huge amounts of data and many complex relationships.Studies examined in this report show that the previous conducted experiments comparedatabases for applications that have favored the graph model. This report aims to examineboth databases, but also to perform an experiment. The purpose of this experiment is to nd out if the graph database Neo4j can replace the relational database MySQL for a traditionalinformation application which is usually implemented using a relational database.Results demonstrate that Neo4j performs very well at insertion and retrieval, however,the study addresses several factors that play a role in the choice of database. The lack ofsecurity and support are some factors that could make the relational database the bestchoice for a traditional information application.
|
5 |
Visualiseringsverktyg för migrerad kod : Ersättare till GuardienEriksson, John, Karlsson, Tobias January 2019 (has links)
Java is one of the most widely used programming languages used today. CSN that previously used 4 GL tool should now migrate to Java development, which means that there is a need for a tool to show dependencies and relationships in the migrated and newly developed Java code. The GuardIEn was previously used in the old code base, but that tool will be wound up after CSN's after migration to Java. The overall purpose of the project is to create a graph database with data that is scanned with the tool jqAssistant. This database is then used by a Java backend that retrieves relationships and nodes from the graph database which is then used with a separate web interface in Angular to visualize all relations between program code / Java är en av de mest använda programmeringsspråken som används idag. CSN som tidigare använt 4 GL verktyg skall nu migrera till Java-utveckling vilket innebär att det finns ett behov av ett verktyg för att visa beroenden och relationer i den migrerade och nyutvecklade Java-koden. GuardIEn användes innan för detta i den gamla kodbasen men det verktyget kommer avvecklas efter CSN:s efter migrering till Java. Projektets övergripande syfte är att skapa en grafdatabas med data som skannas in med verktyget jqAssistant. Denna databas används sedan av en backend applikation som hämtar relationer och noder från grafdatabasen som sedan används med ett eget webbgränssnitt i Angular för visualisera alla relationer mellan programkod. Det har också undersökts kring funktioner på att söka efter programkod och filnamn i kodbasen för att hitta och kunna visa källkoden.
|
6 |
Prestanda i ett GraphQL-API : Ett experiment med databaser och verktyg för hantering av N+1-problemetMartin, Fooladi, Pontus, Åkerberg January 2024 (has links)
Efficient performance is pivotal for digital service and product retention, necessitating consideration and design throughout system development. Central to this is the API, orchestrating communication between client and server within a system. GraphQL, created in 2012, revolutionized this interaction by enabling precise data requests. However, less sophisticated implementations of GraphQL often encounter the N+1 problem, where a query requiring N additional database queries is executed, leading to performance inefficiencies. With increasing data interconnectedness, query complexity and the choice of database management system (DBMS) become critical factors. This study investigates whether a GraphQL API performs better with Neo4j, a graph database, or MariaDB, a relational database, and evaluates how various N+1 problem solving tools influence API performance. The study conducted experiments with six API configurations, each subjected to five queries of varying complexity. One configuration utilized Neo4j, while the remaining five used MariaDB. Among the latter, three configurations integrated N+1 problem solving tools. The study shows that, when query complexity and data interconnectedness is low, response times from a GraphQL API using MariaDB, without solving the N+1-problem, are shorter than the response times of an API using Neo4j. It also demonstrates the efficacy of Neo4j when data becomes more interconnected. Furthermore, the study concludes that addressing the N+1 problem is crucial, and that different tools offer varying levels of performance in solving it. Tools that do manage to solve this issue commonly show a significant improvement in response times when interconnected data is requested. / Effektiv prestanda är avgörande för att behålla användare av digitala tjänster och produkter, och måste tas i beaktande när ett system utvecklas. Centralt i sammanhanget är API:et, som koordinerar kommunikationen mellan klient och server inomett system. GraphQL, som skapades 2012, revolutionerade denna interaktion genomatt möjliggöra exakta dataförfrågningar. Mindre genomtänkta implementationer avGraphQL stöter ofta på N+1-problemet, där en förfrågan som kräver N ytterligare databasförfrågningar utförs, vilket leder till sämre prestanda. Med starkare kopplingar mellan data blir komplexiteten i förfrågningar och valet av databas avgörande faktorer. Denna studie syftar till att utforska om ett GraphQL-API presterar bättre medNeo4j, en grafdatabas, eller MariaDB, en relationsdatabas, och utvärderar hur olika verktyg, som löser N+1-problemet, påverkar API-prestandan. Studien genomförde experiment med sex API-konfigurationer, var och en testad med fem förfrågningar av varierande komplexitet. En konfiguration använde Neo4j, medan övriga fem använde MariaDB. Tre av dessa fem konfigurationer implementerade verktyg för att lösa N+1-problemet. Studien visar att, vid enklare frågor utan kopplad data, kan ett GraphQL-API, som använder MariaDB utan att lösa N+1-problemet, ge mycket kortare svarstider än ett API med Neo4j. Neo4j visar däremot sin effektivitet när data med kopplingar efterfrågas. Vidare visade experimenten på vikten av att lösa N+1-problemet. Verktygen lyckades lösa problemet olika väl, men gemensamt för de verktyg som klarar av att lösa det är att de förbättrar svarstiderna avsevärt så fort kopplad data efterfrågas.
|
7 |
Grafdatabas: Från data till förståelse / Graph Database: From Data to WisdomThiel, Mattias, Brandt, Pontus January 2015 (has links)
Detta examensarbete är utfört för Imano AB och behandlar ämnet databaser. Enorma mängder data finns lagrad i databaser världen över, men bara en bråkdel av all data används till något. Data kan förekomma i många olika former och en mängd olika typer av databaser har vuxit fram som komplement till de traditionella relationsdatabaserna. För sociala nätverk, logistiksystem, e-handel och i många andra sammanhang är relationer mellan dataposter ofta lika intressant som själva datainnehållet. När så är fallet kan grafdatabaser vara ett intressant alternativ. I en grafdatabas sparas relationer mellan enskilda dataposter som egna objekt, och denna egenskap kan användas för att ställa frågor om hur data relaterar till andra data. För att på ett effektivt sätt kunna utnyttja grafdatabasens egenskaper finns behov för ett lättillgängligt och användbart verktyg. Syftet med examensarbetet är att skapa ett verktyg, som kombinerar grafdatabasen Neo4js förmåga att hantera relationer mellan enskilda dataposter med visuell presentation av data i en webbapplikation. Studien undersöker om detta verktyg gör att användaren lättare kan få ny förståelse ur befintlig data. Denna studie är i grunden ett utvecklingsarbete som följer principerna för metoden Design Science Research. Metoden består av en utvecklingsprocess i flera steg där empirin är den kunskap som erhålls under arbetets gång. I utvecklingsprocessen ingår även kvalitativa undersökningsmetoder för att samla in data vid demonstration och utvärdering av artefakten. I rapporten jämförs grafdatabaser med relationsdatabaser. Studien avser dock endast att peka på skillnader gällande vissa egenskaper och genomför ingen fullständig jämförelse av exempelvis prestanda. Studien visar enligt utvecklarna att grafdatabasen Neo4j har egenskaper som gör den lämplig för användning där relationer mellan enskilda dataposter är viktiga som källor till kunskap. Resultatet av forskningen är att ny förståelse kan komma ur befintlig data genom användning av grafdatabas, speciellt om den kombineras med visualisering. / This thesis written in swedsh is done for Imano AB and deals with the subject databases. Huge amounts of data are stored in databases worldwide, but only a fraction of all the data is used. Data can exist in many different forms and various types of databases have emerged as a complement to the traditional relational databases. In social networking, logistics systems, e-commerce and many other contexts, relationships between data items are often as interesting as the actual data content. When this is the case, graph databases provide solutions to problems that other databases cannot handle. In a graph database relationships between individual data records are stored as own objects. Thanks to this, it is easier to ask questions about how data relate to other data. To effectively exploit the graph database’s features there is a need for an accessible and useful tool. The purpose of the project is to create a tool that combines the graph database Neo4j’s ability to manage relationships between individual data items with visual presentation of data in a web application. The study examines whether this tool allows the user to more easily gain new insights from existing data. This study is basically a software development process which follows the principles of the method of Design Science Research. The method consists of a development process in several stages where empirical data is the knowledge obtained during work. The development process also includes qualitative research methods to collect data at the demonstration and evaluation of the artifact. The study shows, according to the developers that the graph database Neo4j has properties that make it suitable for use where relationships between individual data items are important as sources of knowledge. The result of the research is that new understanding can emerge from existing data using a graph database, especially when combined with visualization
|
8 |
Requirement specification Editor : REQUIREMENTS EDITOR BASED ON CONTRACT THEORYHedman, Per January 2014 (has links)
Vid utveckling av tyngre fordon inför man allt fler avancerade funktione. Mycket av denna funktionalitet handlar om att maskiner automatiskt ska utföra uppgifter för att assistera föraren. Detta leder till att nya risker uppstår. Och till följd av detta har man börjat skapa nya funktionella säkerhetsstandarder. ISO 26262 är en ny funktionell säkerhetsstandard som finns för vanliga personbilar men som ännu inte trätt i kraft för lastbilar. I ISO-26262 standarden ska krav kunna mappas till andra krav samt till systemarkitektur. I nuläget finns det vissa verktyg på marknaden som stödjer användaren när den skriver kravspecifikationer. Men undersökningar av verktyg ledde till att vi kommit fram till att alla hade någon brist. Och ingen hade bra stöd för mappning mellan krav och systemarkitektur. I detta examensarbete har arbetet varit att testa implementera funktionalitet för ett verktyg som assisterar användaren på olika sätt när den skriver kravspecifikationer. Baserat på kontraktteori och konceptet om portar som hjälp för att koppla samman krav med systemarkitektur ska applikationen se till att det finns en formell koppling mellan dessa. För att testa och validera att portar går att använda för att testa intressant funktionalitet har också en applikation utvecklats där mycket funktionalitet implementerats. Resultatet har varit lyckat då vi baserat på kontraktteori lyckats implementera och validera att det är möjligt att använda portar för att skapa koppling mellan krav och systemarkitektur, samt mellan krav och krav. Validering av att det valda lagringsformatet JSON också förser implementeraren med nog starkt stöd för att kunna spara dessa krav så att data i filerna kan brytas ner och lagras i temporära databasen Neo4J och på så sätt skapa ett fungerande kretslopp. / When developing new heavy vehicles today demands for increasingly more advanced features are asked for. A lot of the new functionality is about machines performing tasks automatically to assist the driver when driving. This leads to new risks, and as a result a new functional safety standard has been created. ISO 26262 is a functional safety standard that today exists for ordinary cars, but has not yet became a standard for trucks. According to the ISO 26262-standard requirements can be mapped to other requirements as well as to the system architecture. At present there are several tools on the market that supports the user when writing specifications. However, our research of the tools has led us to conclude that all lacked something. For example neither of the tools had good support for mapping between requirements and system architecture. In this thesis work, functionality for a tool which is supposed to support the user in various ways when writing requirements specifications was to be examined. Based on contract theory and the concept of ports that links requirements together with system architecture, an application can ensure that there is a formal link between the two. To test the suggested functionality a prototype is being developed. The result has been a successful as we based on contract theory could validate that using ports to create links between different requirements as well as between requirements and system architecture works through the implementation of the tool. Validation that the selected storage format JSON also provides the implementer with enough support to save the requirements in a way so that the data files can be decomposed and stored in the Neo4J database.
|
9 |
Jämförelse mellan graf- och relationsdatabas : En studie av prestanda vid sökning av kortaste vägen mellan två givna platser i ett rälsbundet nätverk / Comparison between graph and relational database : A study of performance when searching for the shortest path between two given places in a rail networkNilsson, Jimmy, Hansson, Johan January 2021 (has links)
Traditional relational databases store data in tabular form and have existed for several decades. The new requirements for data such as high availability and scalability have led to an increase in NoSQL databases in popularity. NoSQL databases meet these requirements as they use other methods for handling and storing data, for example document databases and graph databases are two of these variants. This study examined the difference in performance between the SQL Server 19 relational database and the Neo4j graph database. An experiment with the hypothesis: "Graph databases have faster response times compared to relational databases when retrieving the shortest route between two specified locations" was performed by executing a function on a dataset provided by the study's partner the Swedish Transport Administration. The data set represents Sweden's railway network and consists of 1320 places and 2788 associated connections. The function searched for the shortest route between two locations for four selected sections in each database architecture. The observed and analyzed response times show that Neo4j has an average response time that is 50 times faster than SQL Server 19, which verifies the hypothesis. The response times from the two databases were also tested with a Wilcoxon test which showed that the median response times differ from each other at a 1 % significance level. In addition, the results show that the average response time for SQL Server 19 will increase more than Neo4j as more sites and connections become involved in the search. Relational databases have slower response times than graph databases as they use join statements to find current relationships between its tables, which means that they must search all the data to find the shortest path between two places. Unlike relational databases, graph databases only use relationships directly connected to the current node where the algorithm is located, which means that response times are shorter. / Traditionella relationsdatabaser lagrar data i tabellform och har existerat i flera årtionden. De nya kraven på data som hög tillgänglighet samt skalbarhet har gjort att NoSQL databaser ökat i popularitet. NoSQL databaser tillgodoser dessa krav då de använder andra sätt för hantering och lagring av data, exempelvis är dokument-databaser samt grafdatabaser två av dessa varianter. I denna studie undersöktes skillnaden i prestanda mellan relationsdatabasen SQL Server 19 och grafdatabasen Neo4j. Ett experiment med hypotesen: “Grafdatabaser har snabbare svarstider i jämförelse mot relationsdatabaser vid hämtning av kortaste vägen mellan två angivna platser” genomfördes genom att exekvera en funktion på ett dataset som tillhandahållits av studiens samarbetspartner Trafikverket. Datasetet representerar Sveriges järnvägsnätverk och består av 1320 platser och 2788 tillhörande förbindelser. Funktionen sökte efter den kortaste vägen mellan två platser för fyra utvalda sträckor i varje databasarkitektur. De observerade och analyserade svarstiderna visar att Neo4j har en genomsnittlig svarstid som är 50gånger snabbare än SQL Server 19 vilket verifierar hypotesen. Svarstiderna från de två databaserna testades även med ett Wilcoxon-test som visade att svarstidernas median skiljer sig från varandra påen 1 % signifikansnivå. Därtill visar resultatet att den genomsnittliga svarstiden för SQL Server 19 kommer att öka mer än Neo4j då fler platser och förbindelser blir involverade i sökningen. Relationsdatabaser har långsammare svarstider än grafdatabaser då de använder join-satser för att hitta aktuella relationer mellan dess tabeller vilket gör att de måste söka igenom all data för att hitta kortaste vägen mellan två platser. Till skillnad från relationsdatabaser använder grafdatabaser endast relationer direkt anslutna till den nuvarande noden där algoritmen befinner sig vilket gör att svarstiderna blir mindre.
|
10 |
Implementation av ett transportnätverk på mikronivå i en grafdatabas : En studie där ett transportnätverk på mikronivå implementeras i en grafdatabas för att utföra ruttsökningar / Implementation of a transportation network on microlevel in a graphdatabaseNilsson, Johan, Nilsson, Sebastian January 2022 (has links)
Bakgrund Trafikverket är ansvarig förvaltare över Sveriges järnvägar. De hanterar den långsiktiga infrastrukturen samt byggandet och driften av järnvägarna. För att visualisera och hantera dessa järnvägar digitalt använder sig Trafikverket av ett system kallat Baninformationssystemet (BIS). Järnvägsnätet hanteras på två olika nivåer, makronivå och mikronivå. Makronivån visar driftplatser med dess kopplingar emellan dem och är den enklaste nivån av nätverket. Mikronivån är betydligt mer detaljerad och visar alla objekt och kopplingar som finns på en driftplats. Syfte Målet med studien är att implementera ett transportnätverk i form av en järnväg i en grafdatabas på mikronivå. I studien undersöks metoder för att hantera svängningsrestriktioner på transportnätverket. Utöver detta utför studien en rad kortaste vägen-sökningar för att validera transportnätverket. Metod Studien använder sig av forskningsstrategin design and creation där en IT-artefakt skapas. En litteraturundersökning görs för att finna tidigare forskning som kan hjälpa utvecklingen av IT-artefakten samt besvara forskningsfrågorna. Systematiska observationer utförs för att validera IT-artefakten, i form av kortaste vägen-sökningar som jämförs med samma sökning i Trafikverkets system BIS. Resultat Studien har resulterat i en implementation av ett transportnätverk med svängningsrestriktioner på mikronivå i en grafdatabas. En lösning i Neo4j vid namn Neomap används för visualisering och testning av transportnätverket. Studien presenterar också en jämförelse mellan Trafikverkets system BIS och studiens transportnätverk. Slutsatser Jämförelsen visar att den alternativa graf som föreslagits har implementerats som ett korrekt transportnätverk på mikronivå. Transportnätverket hanterar de flesta av de svängningsrestriktioner som Trafikverket använder då den använda data var begränsad. Neomap användes för både felsökning och validering av transportnätverket och visar att sökningarna från Neo4j är nästan identiska med BIS. / Background The Swedish Transport Administration is the responsible manager of Sweden’s railways. They handle the long-term infrastructure as well as the construction and operation of the railways. To visualize and manage these railways digitally, the Swedish Transport Administration uses a system called Baninformationssystemet (BIS). The railway network is managed at two different levels, macro-level and micro-level. The macro-level only shows operating sites with their connections between them and is the simplest level of the network. The micro-level is significantly more detailed showing all objects and connections located at an operating site. Aim The aim of the study is to implement a transportation network in the form of a railway in a graph database at micro-level. The study examines methods for managing turning restrictions on the transportation network. In addition, the study performs a series of shortest path searches to validate the transportation network. Method The study uses the research strategy design and creation where an IT artifact is created. A literature review is done to find previous research that can help the development of the IT artifact and answer the research questions. Systematic observations are performed to validate the IT artifact by doing various shortest road searches that are compared with the same searches in the Swedish Transport Administration’s system. Results The study has resulted in the implementation of a transportation network with turning restrictions on a micro-level in a graph database. A solution in Neo4j called Neomap is used for visualization and testing of the transportation network. A comparison is presented where the study’s transportation network was compared with the Swedish Transport Administration’s system BIS. Conclusions The comparison shows that the alternative graph proposed has been implemented as a correct transportation network on a micro-level. The transportation network handles most of the turning restrictions that Trafikverket uses due to limited data. Neomap is used for both troubleshooting and validation of the transportation network and shows that the searches from Neo4j are almost identical to the searches from BIS.
|
Page generated in 0.0353 seconds