This week's book giveaway is in the Reactive Progamming forum.
We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line!
See this thread for details.
Win a copy of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams this week in the Reactive Progamming forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar

Developer without knowledge about Spark or Neo4j

 
Ranch Hand
Posts: 41
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I do not have spark or neo4j knowledge.
Do You think I have to learn about them, or can I to apply the concepts in java? For example.
Thank you.
 
Saloon Keeper
Posts: 5809
146
Android Mac OS X Firefox Browser VI Editor Tomcat Server Safari
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Don't know about Spark, but neo4j has lots of introductory material on its web site. You can certainly start learning that by writing small applications on your own. Graph per se DBs don't have much to do with AI or ML, though.
 
Marshal
Posts: 65806
250
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In which case, what are graph algorithms?
 
Saloon Keeper
Posts: 21129
131
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:In which case, what are graph algorithms?



From the context, it would appear that the algorithms in question are either in the query language of the database in question and/or Java code to work with said databases.

Incidentally, before we went to the current method of selecting bartenders for forums on the ranch and were still calling dibs, I wrote a webapp using Neo4J to support the dibs process including our order-of-preference and the priority boost given to new inductees. It used the Spring Data Neo4j module.

When I first started, the query language was still unstable, but it was much improved before I finally abandoned it.

The database itself, incidentally, had 2 types of nodes: People and Forums. You'd establish links between people and their chosen forums with priority values for each link using a simple A/B column transfer control. Reports could display what forums were bid for, in descending priority of claim, and what forums were unclaimed.
 
Campbell Ritchie
Marshal
Posts: 65806
250
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sounds a bit like constraints programming.
 
Tim Holloway
Saloon Keeper
Posts: 21129
131
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

Campbell Ritchie wrote:Sounds a bit like constraints programming.



Only superficially. The relations between nodes are dynamically assignable attributes, not rules. And the relations come in various flavours such as "Bear currentlyHas Servlet/JSP" and "Junilu hasDibsOn(priority=5) VMs". This is abstract, incidentally, not formal Neo4J language.

Plus Neo4j is a persistent database, not a software construct or constructed software.
 
Author
Posts: 13
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Graph Algorithms can be used in many different systems, so you do not need to use Spark or Neo4j to use graph algorithms.  We use Spark and Neo4j to showcase graph algorithms in the book because they both had unique qualities. Spark is a popular scale-out computing framework with libraries to support a variety of data science workflows. Neo4j offers a high-performance graph-native platform with over 45 graph algorithms and the ability to persist graphs.

Most people use a graph query when investigating limited areas of a graph or a specific question.  For example, how many hops between node A & B.  However, we would want to use a graph algorithm when we looking for more holistic analysis of the graph structure.  For example, finding all the communities based on the number of relationships among nodes.

If you do not need to store your graph and you're working with a small dataset, there are a number of platforms you might use. NetworkX has quite a few algorithms and is often used in academic settings with small graphs.  

We wrote the book so that the concepts about graph analysis and how certain algorithms calculate results could be applied more generally.  For those just getting started, you might want to download the free digital copy and check out the first few chapters: https://neo4j.com/graph-algorithms-book/



 
Getting married means "We're in love, so let's tell the police!" - and invite this tiny ad to the wedding:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!