- Can I use graphaware/neo4j-bolt in a Laravel application?
- It can be Composer-installed, but it is a low-level Bolt client with no Laravel service provider, facade, config, or Eloquent integration. You must wrap it behind your own adapter or repository boundary and manage the connection lifecycle yourself. For greenfield Laravel work, treat it as a protocol primitive rather than an off-the-shelf Laravel package.
- How do I install graphaware/neo4j-bolt with Composer?
- Install it with composer require graphaware/neo4j-bolt and pin the exact commit or version you validate. The package is archived, so you may hit PHP platform constraints on newer Laravel stacks. Avoid relying on --ignore-platform-reqs as a permanent fix; test compatibility first.
- Does graphaware/neo4j-bolt support Laravel 10 or PHP 8?
- There is no guaranteed support for modern PHP 8+ or Laravel 10+ because the repository is archived and unmaintained. You need a time-boxed proof of concept and a CI matrix against your target PHP, Laravel, and Neo4j versions. If constraints fail, plan an owned fork or a maintained alternative.
- Is graphaware/neo4j-bolt a Laravel package with a service provider?
- No. It ships no service provider, facade, config file, or auto-discovery, so Laravel will not wire it automatically. Bind the driver manually in a service provider and prefer scoped() over singleton() for Octane and queue workers. Keep Bolt sessions out of controllers and domain code.
- How do I run Cypher queries with graphaware/neo4j-bolt?
- Create a driver, open a session, run statements, and stream records through the low-level result API. Keep Cypher strings inside repository classes and map Node, Relationship, and Path objects into your own DTOs. Do not let Bolt result types leak into Blade views, jobs, or domain services.
- Does graphaware/neo4j-bolt support transactions and rollback?
- The library models sessions and transactions with commit and rollback, but transaction APIs can vary by version and early 1.x pins may lack client-side transaction control. Validate the exact package commit against your Neo4j server and Bolt protocol version. Add explicit transaction tests for write paths before production.
- How should I test a Laravel app using graphaware/neo4j-bolt?
- Wrap the driver behind a Neo4jClient interface and use a fake implementation for unit tests. Add contract or integration tests against the Neo4j and Bolt versions you actually ship. Avoid calling the static GraphDatabase::createDriver factory directly in tests because it opens a socket immediately.
- What are the production risks of using graphaware/neo4j-bolt?
- High. The repository is archived, has low community validation, and receives no security patches or Bolt protocol updates. Authentication, TLS, pooling, error semantics, and PHP/Laravel compatibility all need independent validation. Shipping it into revenue-critical paths requires vendor review, pinning, and a funded migration plan.
- What alternatives to graphaware/neo4j-bolt should I use in Laravel?
- Evaluate laudis/neo4j-php-client for a maintained Bolt client, or use Neo4j's HTTP API where appropriate. Keep either choice behind your own Neo4jClient contract so you can swap transports later. Do not couple domain code to GraphAware Bolt types or hand-written Cypher outside repositories.
- Is graphaware/neo4j-bolt maintained and safe for long-term use?
- It is archived and best treated as a time-boxed bridge, not a foundation. Pin the exact commit, wrap every call, run parallel read-only queries against a maintained client, then cut over and remove the package. Fund and schedule the replacement before it becomes an internal fork with no upstream exit.