Giter Club home page Giter Club logo

developer-resources's Introduction

Neo4j Developer Resources

CircleCI

This is the repository with the source content for the http://neo4j.com/developer developer resources section.

The content is written as textual format in AsciiDoc rendered with asciidoctor using erb-templates to HTML and pushed to the gh-pages branch for preview and to the publish branch for publishing to WordPress.

Install asciidoctor (1.5.6.1) ruby gems with rbenv exec bundle install in the main directory. You also need ruby 2.5.0 installed on your system, e.g. via rbenv install 2.5.0.

You can render a single document to its index.html by calling `

`
(e.g. rbenv exec ruby ./render.rb in-production/guide-cloud-deployment/guide-cloud-deployment.adoc) or render all pages at once with just rbenv exec ruby ./render.rb all

You can open the generated index.html file locally to check the rendering/preview, or start the http script in the main directory (./http, for example), and then open: http://localhost:8000/developer/

Warning
Please edit and preview on the gh-pages branch, only if you are satisfied or someone has reviewed your changes merge them into the publish branch.

After commiting changes to head, you can push them to the publish branch: git push origin HEAD:publish. This will cause Circle CI to push the changes to the web server.

Guides

Most of the documents in this developer resources section are organized as a guide.

Those guides come with a consistent structure and similar use of language and assets.

Each of the guides lives in its own directory and is rendered into an index.html file for publication.

You can run the rendering process by calling render.rb on the command line.

A guide has this general structure:

  1. goal for this guide

  2. prerequisite with links to relevant sections

  3. recommended experience level (Beginner, Intermediate, Advanced)

  4. Multiple sections and subsections outlining the content, using a welcoming and helpful, not overly complex or eloquent language with examples in code, pictures, or videos

  5. each top level (===) section can be followed by a sidebar section which will be rendered on the right side with links to follow up information (internal links, calls to action, external links)

Please see the example guide template file for a blueprint of the document structure needed. And as rendered document.

Internal and External Content

Example Applications per Language, Stack and Driver

To explain how to use Neo4j with different programming languages, we provide an intro section per language, located in language-guides/<language>/<language>.adoc.

To show how the different drivers for that language would be used/integrated we also provide small example projects/setups in the language-guides/<language>/<driver> directories.

The example application is a simple, single-page movies app based on the Neo4j-Movies dataset that comes with Neo4j (:play movie graph in the Neo4j-Browser).

See an example running here on Heroku.

The HTML page uses jQuery requests to query 3 HTTP-Endpoints in the backend for /search, /movie and /graph

  • /search lists the movies found by title

  • /movie returns details for a single movie

  • /graph renders the full graph as a basic d3-visualization

This is our current list of projects on GitHub.

developer-resources's People

Contributors

adam-cowley avatar amitsuryavanshi avatar andreasronge avatar benbc avatar bonifex avatar cheerfulstoic avatar davidfauth avatar ducky427 avatar gpierrick avatar ikwattro avatar jennyjiang95 avatar jexp avatar jjaderberg avatar jmhreif avatar johnymontana avatar kbastani avatar klobuczek avatar lutovich avatar mats-sx avatar meistermeier avatar mneedham avatar moxious avatar nawroth avatar robinedwards avatar ryguyrg avatar simpsonjulian avatar subvertallchris avatar technige avatar versae avatar whatsocks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

developer-resources's Issues

Running server-extension java example

Hello all,
I'm trying to run the server-extension java example, I have no experience with java and some help would be extremely appreciated. So far I have:

  • forked the repository
  • installed eclipse with m2e
  • imported language-guides\java\server-extension\pom.xml into eclipse

Now I'm a bit stuck on how to run the code. Since from m2e I cannot do
mvn compile exec:java
I have tried the running the package with the following configuration:
image

But an error says that: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java are missing

If in the Run Configuration I add the paramenter "exec.mainClass" with value "example.extension.movies.MovieResource" then I get another error saying that there is no "main" method defined.

Am I missing something? What is the correct Run Configuration?

Please attribute the movie dataset to TMDb

on this page:
http://neo4j.com/developer/example-data/

----- Original Message ----
Hey guys!

I was just notified that the example movie dataset you guys are using here looks like it’s the data that Spring.io used from their tutorial here. The Spring.io data was sourced from The Movie Database (TMDb) and while we have attribution on the tutorial, I’m wondering if we could have the same attribution on the Neo4j website.

Technically speaking our terms disallows sub licensing our data like this but as long as we get attributed I see no problem why you guys can’t continue to use the data as an example. The tutorial and data are perfect examples of what Neo4j can do.

Thanks!


Travis Bell
Twitter: http://twitter.com/themoviedb
Facebook: http://www.facebook.com/themoviedb
Status: https://www.themoviedb.org/status

For support, visit our discussion area: http://www.themoviedb.org/talk

Add a strong warning to all driver pages about 4.0 and encryption

Something along the lines:

  • driver behavior in 4.0 changed, doesn't trust self-signed certs anymore, but encrypted=true by default
  • if you don't have a proper trusted certificate (e.g. in Docker) you have to use encryption=false
  • link to davids article for lets's encrypt

Update GD Book link

on Getting Started page
link book to
neo4j.com/graph-databases-book
NOT neo4j.com/books/graph-databases

MyNeo4jConfiguration url from application.properties

I'm trying to read the neo4j url from application.properties as I usually do in spring.boot projects. But here it doesn't work:

package movies.spring.data.neo4j;

import org.neo4j.graphdb.GraphDatabaseService;
import org.neo4j.graphdb.Relationship;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.data.neo4j.config.EnableNeo4jRepositories;
import org.springframework.data.neo4j.config.Neo4jConfiguration;
import org.springframework.data.neo4j.core.TypeRepresentationStrategy;
import org.springframework.data.neo4j.rest.SpringRestGraphDatabase;
import org.springframework.data.neo4j.support.typerepresentation.NoopRelationshipTypeRepresentationStrategy;
import org.springframework.data.rest.webmvc.config.RepositoryRestMvcConfiguration;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;

// tag::config[]
@EnableTransactionManagement
@Import(RepositoryRestMvcConfiguration.class)
@EnableScheduling
@EnableAutoConfiguration
@ComponentScan(basePackages = {"movies.spring.data.neo4j.services"})
@Configuration
@EnableNeo4jRepositories(basePackages = "movies.spring.data.neo4j.repositories")
public class MyNeo4jConfiguration extends Neo4jConfiguration {
    public MyNeo4jConfiguration() {
        setBasePackage("movies.spring.data.neo4j.domain");
    }

    @Value("${graph.db.url}")
    private String url;

    @Bean
    public GraphDatabaseService graphDatabaseService() {
        return new SpringRestGraphDatabase(url);
    }

    @Override
    public TypeRepresentationStrategy<Relationship> relationshipTypeRepresentationStrategy() throws Exception {
        return new NoopRelationshipTypeRepresentationStrategy();
    }
}
// end::config[]

Here is my application.properties file

graph.db.url: http://localhost:7474/db/data/

Also it fails to load it using @ConfigurationProperties approach.

java server extension not working

i followed the doc.. but when i do "mvn compile exec:java".. i am getting

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java (default-cli) on project neo4j-movies: The parameters 'mainClass' for goal org.codehaus.mojo:exec-maven-plugin:1.3.2:java are missing or invalid -> [Help 1]

i am sure i am missing something silly.. please help..

./Zahoor

Spring-boot and spring-data-neo4j 3.3.0 Incompatibility

So it seems that getting Spring-boot and spring-data-neo4j 3.3.0 to talk to each other proves troublesome. I have tried doing several of the different examples for Spring boot and all work fine until I try and use spring-data-neo4j 3.3.0 or higher. I've been banging my head against this wall for a few days, does anyone have any advice for me on how to implement a simple rest interface using spring-data-neo4j-3.3.0? This is mostly for faster iterative development on eventual server extension methods. The error I continously get is:

java.lang.NoClassDefFoundError: org/springframework/data/mapping/PersistentPropertyAccessor

java.sql.SQLException: No suitable driver found for jdbc:neo4j://localhost:7474/

Im getting java.sql.SQLException: No suitable driver found for jdbc:neo4j://localhost:7474/ in Neo4j 2.1.6.
I'm using neo4j-jdbc-2.1.4-jar-with-dependencies.jar

java.sql.SQLException: No suitable driver found for jdbc:neo4j://localhost:7474/
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at com.aig.neo4jpoc.platform.JdbcCypherExecutor.(JdbcCypherExecutor.java:19)
at com.aig.neo4jpoc.platform.JdbcCypherExecutor.(JdbcCypherExecutor.java:15)
at com.aig.neo4jpoc.dao.Neo4jDAOImpl.createCypherExecutor(Neo4jDAOImpl.java:39)
at com.aig.neo4jpoc.dao.Neo4jDAOImpl.graph(Neo4jDAOImpl.java:114)
at com.aig.neo4jpoc.controller.Neo4jController.getGraph(Neo4jController.java:59)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:212)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:126)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:96)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:617)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:578)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:900)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:827)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:620)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:745)

Suggestion: Graph Visualization for Neo4j

There are many great resources for data visualization + Neo4j (a lot of D3 stuff). This the current just mentions D3 and moves on to commercial packages.

How about separating Graph Visualization into different files (similar to how the drivers are organized) and having an article per graph visualization method?

Need Guide: Neo4j Enterprise vs Community

A new guide on the differences between enterprise and community editions of Neo4j is needed for the get started section.

Focus should be on application requirements and user volume.

ClassNotFound in spring-data-neo4j-rest 3.3.0

I get an error with this application when I update the dependency of spring-data-neo4j-rest to 3.3.0.RELEASE.
java.lang.ClassNotFoundException: org.springframework.data.neo4j.core.UpdateableState
The error occurs when instantiating the graphDatabaseService

Most pages have the same <title>

In head_partial.erb the <title> HTML tag is hard-coded to be the same title for pretty much every page.

I'm unsure of the ruby templating bits of how to state a title in the asciidoc pages, but that variable needs to be set, and then I guess head_partial.erb needs to substitute it.

Will look further into this when I can get the time.

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.