Download the PHP package graphaware/neoclient-timetree without Composer
On this page you can find all versions of the php package graphaware/neoclient-timetree. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download graphaware/neoclient-timetree
More information about graphaware/neoclient-timetree
Files in graphaware/neoclient-timetree
Package neoclient-timetree
Short Description PHP NeoClient extension for the GraphAware TimeTree Neo4j plugin
License AGPLv3
Informations about the package neoclient-timetree
TimeTree extension for PHP NeoClient
This library extends Neo4j PHP NeoClient by adding convenient methods for working with the GraphAware TimeTree Plugin.
The library mixes at some point the high valuable features of the TimeTree plugin with Cypher to keep consistency regarding response result used by NeoClient that permits to use node objects.
Installation and setup
You need to require the library in your dependencies and register the extension in NeoClient :
composer.json
Register the extension when building the client :
Note that the extension name graphaware-timetree
can be changed to whatever you want.
Note
As NeoClient is natively built for working with multiple Neo4j instances, the last parameters of each of the below methods is the connection alias string (default connection is used when omitted).
Adding schema indexes for the TimeTree time nodes
With this simple method, it will add the schema indexes on the Year, Month, Day, Hour, Minute, Second and Millisecond nodes.
Generally this should be runned only once when building your application.
Usage
For all the following methods, the timestamp
is optional and the "NOW" timestamp will be used when omitted.
Getting a time instant node
By simply passing a timestamp to the following method, you'll get the time instant node id and all the time tree created magically :
The default resolution of the TimeTree plugin is day
, you can increase or decrease the resolution by using the
timetree constants provided by the extension :
Adding a node to a time instant
You need to pass the node id of the event along with the time and the desired relationship type. Note that the relationship is directed from the time instant node to the event node.
Retrieving events nodes for a time :
This mixes the timetree functionality with Cypher in order to retrieve all the nodes informations in your objects, like labels, etc...
Retrieving event nodes that occur between a time range
You should here specify the start time and the end time is default to NOW
.
You can also specify the resolution, for e.g. to hours :
Adding an event to a time tree with specified rootNodeId
Retrieving events for time and specified rootNodeId
To-Do :
- [ ] Support for more TT features
- [x] Support for multiple tree roots
- [ ] More Cypher/TT integration for e.g. retrieving nodes by label attached to times
- [ ] User defined method for retrieving events (Cypher or TT)
Tests :
Run the test suite with PHPUnit :
License
Copyright (c) 2014 GraphAware
GraphAware is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.