Changelog History
Page 2
-
v0.6.0 Changes
October 07, 2016๐ Current release marks community build number two, introducing major change to data layout and bringing new features to Gremlin.
Storage format changed slightly. We highly recommend to do a clean import of the database with a new binary.
Cayley now honors types of nquad values. IRIs (
<name>
) were converted to untyped strings (name
), so it was possible for nodes with different types to be loaded as a single node. Now Cayley preserves type information, making these nodes separate. Queries that used IRIs without<>
quotes will break because of this change. Gremlin now requires IRI it to be in"<follows>"
form and the path lib expect these values to be ofquad.IRI
Go type. The same stands for Strings (aka RDF literals) and BNodes (aka blank nodes,_:name
).Data loader now recognizes few basic typed literals like
"10"^^<http://schema.org/Integer>
and converts them into corresponding native type (Int
for this example). It may also affect existing queries. Gremlin will automatically convert basic types into corresponding RDF typed literals.Highlights:
- ๐ Typed values support for all backends. Includes types: String, IRI, BNode, Int, Float, Bool, Time.
- ๐ New traversals in path lib and Gremlin: HasReverse, Skip, Limit, Count, Unique, Comparison/Filter, Regex.
- โ More consistent backends behavior thanks to unified tests.
- โก๏ธ Updated docs and added examples.
- โก๏ธ Updated Docker image, and added example for it.
- ๐ Many, many bugfixes and some optimizations.
Full changelog:
gabrys: Fix link to GremlinAPI.md (#477) dennwc: expose Unique via path lib and gremlin; implement and expose Count iterator; resolve #240 dennwc: gremlin: add regex support, make it harder to abuse regexps; add docs explaining why guycook: Implement regex filter as iterator (#474) dennwc: bolt,leveldb: fix AllQuads iterator not skipping deleted quads, add test dennwc: iterator: add variadic arguments to Add, Or and Fixed constructors dennwc: query: Refactor interfaces (#471) dennwc: fix lru panic wayeast: Clone receiver paths (#466) kenshaw: appengine: updating dependency paths and adding documentation (#464) dennwc: gremlin: handle string slice in via parameter kenshaw: appengine: add build constraint (#463) dennwc: Glide migration (#460) dwhitena: user/pass functionality for mongo backend allanino: Fix Docker building (#456) barakmich: gremlin: don't require a session to last as long as the timeout kris-runzer: graph: fix Is*(err error) checkers to properly compare against *DeltaError, add tests dennwc: optimize by default in Iterate helper dennwc: gremlin: clone path objects neonstalwart: simplify the signature of NextLogOut (manual merge of #264) dennwc: graph: add iteration helpers, update examples; resolves #446 dennwc: http: fix json quads decoding dennwc: gremlin: fix ToArray without arguments dennwc: iterator: promote Next to main interface; make NoNext an optional interface oren: Example of BoltDB, update examples/README.md robertmeta: Just better quickstart + examples creation dennwc: query: check type assertions, recover properly in gremlin; fixes #450 josephschorr: Add Clone() to Path for easier reuse of Path segments (#444) dennwc: Wire Skip and Limit to Gremlin. Also fixed #254. dennwc: postgres: store hashes as binary data instead of hex strings dennwc: postgres: prepare each statement in ApplyDeltas dennwc: postgres: generate distinct node insert statements only dennwc: cquads: convert TypedString values to native types automatically on loading dennwc: gremlin: allow to specify multiple conditions in Filter dennwc: mongo: optimize comparison iterator dennwc: Test for typed value comparison and optimization dennwc: gremlin: expose value comparison iterator via path lib, add tests dennwc: gremlin: support for typed values dennwc: gremlin: replace JS-based graph object with reflect-based (rewritten, now it's easier extend) dennwc: comparison: compare only values with the same type, add a test for mixed set dennwc: mongo: use native value types where possible, fix indexing, remove recursion in LinksTo, remove unnecessary roundtrip dennwc: postgres: new table structure, store typed values natively; fix iterators; separate LRU cache dennwc: Update value comparison iterator. Stop graph.Value madness. dennwc: cquads: recognize TypedString and LangString in parser dennwc: Add a test for Raw-to-typed values exchange. Fix memstore not using hashes in map. dennwc: GAE (untyped). More tests. Fixed handling of size and conflicts in postgres. dennwc: quad: add support for few basic types (int, float, bool, time) dennwc: Unify tests for QuadStore. Run Mongo/Postgres in Docker automatically. dennwc: leveldb: use protobuf instead of json, migration code dennwc: bolt: migration code dennwc: add typed fields to protobufs dennwc: graph,query,exporter,path: updated to use typed values dennwc: quad: directions are typed kortschak: graph: provide more meaningful errors for bad actions (#443) josephschorr: Don't iterate over all quads unless necessary (#440) kortschak: clog: fix comment typos and add package comment (#442) dennwc: Implement Skip and Limit iterators (#369) EntilZha: Delete node API (#158) dennwc: Updated Dockerfile (fixed #357) dennwc: fix Unique iterator for non-comparable tokens; fixes #437 kortschak: clog: make nil Logger safe (#436) robertmeta: Sweep through docs update/cleanup oren: remove duplicate in readme (#435) dennwc: fix postgres error on import, fixes #429 dennwc: Added HasReverse function to path lib (#351) drzippie: Added sync.RWMutex to mongo cache (#380) robertmeta: Update docs (README, Locations, Quickstart-As-Lib, Quickstart-As-Application, HACKING, FAQ, Container) robertmeta Rerouting CONTRIBUTING to the discourse, updating CONTRIBUTORS to remove mention of CLA robertmeta: Moving Hacking from wiki to project dennwc: separate log package, resolves #221
-
v0.5.0 Changes
July 03, 2016๐ We've spun out of the
google
namespace, so this is community build number one. There's some good chatter in IRC and places, and expect some notes in the mailing list soon. The project isn't dead, it was just resting.๐ Now that we can add contributors, it's time to tag and build a release as a baseline. There may be some turbulence as some longstanding changes get merged over the next version or two, so before we do that, here are some binaries for people to try out the latest.
Highlights:
- ๐ Postgres/SQL backend support
- โ Add support for LabelContext() to query the Label field across Quads
- ๐พ SaveOptional()
- ๐ Many, many bugfixes
Full changelog:
barakmich: Add SaveOptional() to save predicates if they exist, and add the dennwc: path: Added SaveOptional dennwc: Fix interface conversion in Gremlin barakmich: fix build on 1.6 -- more accurate interface conversion josephschorr: Make call to `Sprintf` lazy barakmich: query/gremlin, graph/path: Add support for querying with labels Quentin-M: Fix NPE in SQL initialization jzelinskie: dockerfile: fix go install command jzelinskie: initial Dockerfile barakmich: graph: make quadstore init functions idempotent barakmich: Update README to mention Postgres and remove unused trello board jzelinskie: add Triple function Quentin-M: Fix SLOW DELETEs Quentin-M: Fix a deadlock behavior with DELETE transactions Quentin-M: Ensure that quads in a transaction are applied in the desired order. Quentin-M: Use a Size() estimate for SQL Quadstore when noSizes is enabled. barakmich: sql: Combine AND(Fixed, SQL) and fix Save() roundtrips barakmich: graph/sql: Use an IN clause when optimizing a fixed iterator barakmich: query/gremlin: fix building Or iterator, add test barakmich: query/gremlin: Refactor in terms of graph/path Quentin-M: Fix NPE in SQL Quadstore Quentin-M: Improve Transaction: deduplicate quads, allow adding/removing a quad in the same tx barakmich: Fix corners after causing a couple merges ds--: Adds exporting capabilities barakmich: Add migration tool and use protos in Bolt store barakmich: graph: Postgres backend sayden: Typo fix when building cayley from scratch sayden: Order of parameters when using :a and :d are switched Kavec: Refactor for readability kortschak: graph/bolt: don't panic on unitialised store barakmich: Fixes memstore transaction semantics Quentin-M: Make the SQL connection fail-fast Quentin-M: Fix NPEs in SQL Next and Contains barakmich: Roll the Go version forward on Travis builds (new stable) barakmich: Add check for multiple all iterators kortschak: internal: move {config,db,http} into internal skynet: Update README.md neonstalwart: add string comparison to value comparison iterator tmlbl: Small REPL Improvements igm: Fixed multiplier for position of "label" in case of "po" key entry cayleydb: Update README.md barakmich: Docs update based on @KamiQuasi #280 lytics: Use new import path for go-uuid jzelinskie: travis.yml: bump appengine dependency barakmich: Add transaction (a list of deltas) as a primitive for applying sets oโฆ nii236: Widened visualisation box to 100% panamafrancis: Added myself to the A+C barakmich: Add Save and Has API functions Quentin-M: Allow opening a database (bolt, leveldb, mongo) through Go API barakmich: Clean up Linkage definition allonhadaya: In out predicates barakmich: Fix bug where first Bolt iteration ignores deletion barakmich: Fix describe in Or iterator neonstalwart: collapse 2 iterations into 1 in memstore op: Fix nil pointer panic when meta bucket is missing barakmich: Fix LevelDB deleted-triple iterator stack overflow bug neonstalwart: move cmp to where it's used kortschak: graph: remove redundant type barakmich: Go API heyalexej: update leveldb link and fix some https links in README andrew-d: Refactor packages andrew-d: Fix TravisCI tests andrew-d: Remove deprecated ResultTree API Dabaez: Update README.md barakmich: Implement the Unique iterator