Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Bolt Laravel Package

stefanak-michal/bolt

Low-level PHP Bolt protocol driver (Bolt <= 6) for TCP socket communication with graph databases like Neo4j, Memgraph, Amazon Neptune, and others. Supports PHP 8.1+ and tracks official protocol message specifications across versions.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Graph Database Integration: Enables PHP/Laravel applications to interact with Neo4j-compatible graph databases (e.g., Memgraph, Amazon Neptune) without relying on proprietary drivers or REST APIs. Ideal for projects requiring high-performance, low-latency graph queries (e.g., recommendation engines, fraud detection, knowledge graphs).
  • Build vs. Buy: Buy for teams needing Bolt protocol support (vs. building from scratch) but build if requiring custom extensions (e.g., advanced query parsing, real-time analytics).
  • Roadmap Alignment: Critical for:
    • Data-intensive apps migrating from relational to graph databases.
    • Microservices needing graph traversals (e.g., supply chain, social networks).
    • Hybrid architectures combining Laravel’s ORM with graph queries.
  • Use Cases:
    • Real-time analytics: Low-latency graph traversals (e.g., dynamic pricing, network analysis).
    • Legacy system modernization: Integrate graph queries into existing PHP/Laravel apps.
    • Multi-database strategies: Unified access to Neo4j, Memgraph, or Neptune via Bolt.

When to Consider This Package

Adopt if:

  • Your Laravel app requires direct Bolt protocol access (not REST/HTTP) for graph databases.
  • You need support for Bolt ≤6 (e.g., Neo4j 5.x, Memgraph) with PHP 8.1+.
  • Your use case involves high-throughput graph operations (e.g., batch processing, complex traversals).
  • You’re avoiding vendor lock-in (works with Neo4j, Memgraph, Neptune, etc.).
  • Your team lacks expertise in low-level TCP/socket programming for Bolt.

Look elsewhere if:

  • You’re using Neo4j’s official PHP driver (preferred for Neo4j-specific features).
  • Your database doesn’t support Bolt (e.g., PostgreSQL with pg_graph).
  • You need high-level abstractions (e.g., Eloquent for graphs; consider Laravel Neo4j).
  • Your app is REST-only (use Neo4j’s HTTP API instead).
  • You require real-time subscriptions (Bolt lacks WebSocket support; use Neo4j’s driver).

How to Pitch It (Stakeholders)

For Executives: "This package lets us leverage graph databases (like Neo4j or Memgraph) directly from PHP/Laravel, unlocking real-time, high-performance queries for use cases like fraud detection or recommendation engines. It’s a drop-in Bolt driver—no REST overhead, no vendor lock-in—while keeping our stack PHP-native. For example, we could replace slow SQL joins with millisecond graph traversals, cutting latency by 90% in scenarios like supply chain optimization. The MIT license and active maintenance (last release: 2026) make it a low-risk choice."

For Engineering: *"This is a low-level Bolt client for PHP 8.1+, supporting all Bolt versions up to 6. Key benefits:

  • Direct TCP socket access to graph databases (Neo4j, Memgraph, etc.) with pipelining for efficiency.
  • Transaction support (begin/commit/rollback) and auth schemes (Basic, Bearer, Kerberos).
  • PackStream serialization for complex data (lists, dictionaries, structures).
  • No dependencies beyond PHP’s mbstring/sockets (optional OpenSSL). Use case: If we’re building a Laravel service for graph analytics, this avoids REST latency and lets us use Cypher queries natively. Tradeoff: More control but less abstraction than Neo4j’s official driver. Pair with a helper layer (e.g., Laravel service) to hide Bolt complexity."*

For Developers: *"Need to query Neo4j/Memgraph from PHP without REST? This package gives you raw Bolt protocol access with:

  • Protocol-aware methods (run(), pull(), begin()) matching Bolt specs.
  • Pipeline support for batch queries.
  • Type safety for Cypher parameters (Bytes, Lists, Dictionaries). Example: Replace DB::select() with $bolt->run('MATCH (n) RETURN n')->pull() for graph data. Docs link to Neo4j’s Bolt specs for version-specific details. Start with the Client helper class to simplify boilerplate."*
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
craftcms/url-validator
directorytree/privacy-filter-classifier
directorytree/privacy-filter
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity
testo/bridge-symfony