Download the PHP package tina4stack/ultipa without Composer

On this page you can find all versions of the php package tina4stack/ultipa. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package ultipa

Tina4   ×   Ultipa

tina4-ultipa

The Ultipa graph driver for PHP

A full-fidelity gRPC client for the Ultipa graph database — every GQL type decoded, no Tina4 lock-in.

Packagist Tests MIT Ultipa Tina4

Quick Start • Type Support • Ultipa Docs • Protocol • tina4.com


A thin, standalone gRPC driver for the Ultipa graph database (ultipa-gqldb), written in PHP. It is the Ultipa driver behind Tina4's graph data layer — but has no Tina4 dependency and is perfectly usable on its own. Tina4's core stays zero-dependency; this driver is an optional package loaded only for ultipa:// connections, speaking gRPC directly (the grpc PECL extension plus grpc/grpc for framing, and this package's own hand-rolled proto3 codec for the payloads — no google/protobuf runtime dependency).

Ultipa is a high-performance graph database with a GQL (ISO/IEC 39075) query surface. Learn more at ultipa.com · docs at ultipa.com/docs.

Why this driver

Requirements

Install

Quick start

query() runs a read, execute() a write — both take GQL and optional params and return a Result:

Member Meaning
->columns column names
->rows decoded rows (lists of PHP values)
->dicts() rows as associative arrays keyed by column
->scalar() first cell of the first row
->rowsAffected, ->dmlStats, ->warnings write metadata

Result is iterable and countable, so foreach ($result as $row) yields the associative rows directly. Errors: a bad statement throws Tina4\Ultipa\UltipaError; an unreachable host throws Tina4\Ultipa\ConnectError within connectTimeout, naming host, port and elapsed seconds.

Type support

Every gqldb PropertyType decodes to a natural PHP value:

Category Types Decodes to
Numeric int32/uint32/int64/uint64, float, double int / float
Text string, text string
Boolean / null bool, null, unset bool / null
Binary blob binary string (e.g. an image, round-trips intact)
Decimal decimal string (precision-preserving)
Temporal date, local/zoned time, local/zoned datetime, timestamp ISO-8601 string
Interval year-to-month, day-to-second ['months' => …] / ['seconds' => …, 'nanoseconds' => …]
Spatial point, point3d ['x', 'y'[, 'z'], 'srid'] assoc array
Vector vector array of float
Graph node, edge, path assoc array (_kind node/edge/path; nodes/edges carry id, labels/type, properties, internal uuid)
Tabular list, set, map, record, table array (list) / assoc array
Error error ['code' => …, 'message' => …]

Node/edge arrays include the 8-byte internal-id (uuid) trailer emitted by gqldb 6.1.147+. Binary parameters go the other way with Codec::blob($bytes).

Protocol

ultipa-gqldb speaks gRPC (default port 60061, protobuf package gqldb). The driver authenticates with SessionService.Login, passes the returned session_id on every call as the session-id metadata header (as an unsigned decimal), then runs QueryService.Gql. Each value is a TypedValue{type, bytes}; all multi-byte integers are little-endian and strings are UTF-8. The full byte-level encoding is documented in PROTOCOL.md — grounded in Ultipa's official gqldb SDK and proto, and verified live against gqldb-grpc CE.

Because PHP gRPC needs the grpc extension (ext-grpc), this is the heaviest of the Tina4 language drivers to install — but only when you actually use Ultipa.

Sample data pack

Get a real graph into your community-edition instance in seconds — 10 people (with photos), 3 companies, 3 projects, 5 skills and 62 relationships:

Then explore it:

The pack lives in examples/ — sample_data/people.json describes the graph and sample_data/faces/*.jpg are 64px portraits of AI-generated, non-existent people (thispersondoesnotexist.com) stored as BLOB properties (via Codec::blob()), so it also demonstrates binary round-tripping through gqldb. Re-running is safe — it clears the demo labels (Person/Company/Project/Skill) first.

Testing

Real, no-mock tests run against a live server. They use the existing default graph with a dedicated Tina4TestPhp label they insert and delete, so they never touch real data:

The suite covers scalar round-trip, node write/read with a bound parameter, a bad statement throwing UltipaError, and a connect timeout throwing ConnectError.

Links

License

MIT. Note: the Ultipa community-edition server is licensed by Ultipa for personal / non-commercial use — review Ultipa's terms before you deploy it. This driver is an independent client and may not be officially supported by Ultipa.


Sponsored by Code Infinity · part of the Tina4 stack.


All versions of ultipa with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-grpc Version *
grpc/grpc Version ^1.57
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package tina4stack/ultipa contains the following files

Loading the files please wait ...