Allon Hadaya
35a96a3a81
Update in and out predicates to use unique iterator.
2015-04-26 17:49:51 -04:00
Allon Hadaya
f775756ad1
Alpha attempt at in and out predicates.
2015-04-26 17:49:51 -04:00
7fa20fc306
Merge pull request #237 from jf87/master
...
added example n-quad file for gremlin api description
2015-04-25 19:13:08 -04:00
Jonathan Fuerst
00cd5f22c6
Changed gremlin_test.go to use data/testdata.nq
...
gremlin_test.nt is not necessary anymore
-- actually it was not used before ;-)
2015-04-23 15:14:00 +02:00
Jonathan Fuerst
e851864576
changed to new testdata file that is now used throughout the documentation
2015-04-22 17:05:38 +02:00
5be1df3be3
initial mongo indexed linksto
2015-04-19 13:43:10 -04:00
Andrew Dunham
1990eba055
Stop calling glog.Fatal* in a bunch of places
2015-04-15 14:07:45 -07:00
67673b31f4
Clean up a little lint and some shadowed variables
2015-02-21 16:21:48 -05:00
kortschak
21c2d75d07
Make query/... interfaces more idiomatic
...
Also revert the data type returned by queries to interface{} (the change
made sense at the time).
2015-02-10 10:56:03 +10:30
c2fab568c7
Merge pull request #153 from mataevs/exceptop
...
Except/Not Operator for Gremlin.
2015-02-05 20:38:19 -05:00
8437520018
Merge pull request #162 from kortschak/issue160
...
Issue160
2014-10-15 03:30:37 -04:00
Matei Chiperi
f86bddd50a
Merge branch 'master' into exceptop
2014-10-02 16:08:51 -07:00
kortschak
e71d19c851
Don't retain results where the value is empty
...
Empty quad terms are not valid, so we should be able to safely drop any
results where the value is "".
2014-09-24 09:14:59 +09:30
kortschak
d6191ba468
Add test for issue 160
2014-09-23 09:19:51 +09:30
kortschak
5484d7eb35
Type switch on otto.Value
...
Ugh, this is not documented in otto. Leaving a panic for future cases
where dynamic typing will jump out at us.
Fixes issue #160 .
2014-09-23 08:56:14 +09:30
Matei Chiperi
985161325e
Changed triplestore to quadstore in the Except operator build_iterator code.
2014-09-08 17:13:05 -07:00
Matei Chiperi
a742ebcd46
Cleaned up code for pull request for an Except operator.
2014-09-08 17:09:42 -07:00
Matei Chiperi
a718130f4a
Merge branch 'master' of https://github.com/google/cayley into operators
...
Conflicts:
query/gremlin/build_iterator.go
2014-09-08 17:04:48 -07:00
kortschak
62013d3dfc
Replace DebugString with Describe
...
This change makes tree description completely open to mechanical
analysis and ensures consistency between description formats for each of
the iterator types.
Renamed StatsContainer.(Kind -> Type) for consistency.
2014-09-05 09:32:09 +09:30
Matei Chiperi
55d235bd55
Added Gremlin tests for the Except operator.
2014-08-28 18:56:06 -07:00
Matei Chiperi
b97e6782ff
Changed identifier "not" to "except" for iterator builder.
2014-08-28 17:52:58 -07:00
Matei Chiperi
a5fd1905d0
Improvements to the Not iterator:
...
- Pass the all iterator as an argument
- Fixed next method (call all.Next() ).
2014-08-28 16:02:21 -07:00
kortschak
bf6412b55d
Run go vet
...
Bugs found.
2014-08-28 12:22:37 +09:30
kortschak
484bf145a8
Remove non-documentation lint
...
Because of extensive nature of changes, tested all three non-memstore
backends - passed.
2014-08-28 11:51:39 +09:30
Matei Chiperi
def70ca12e
Exposed Except (alias Difference) operator in Gremlin API.
2014-08-27 14:48:30 -07:00
Matei Chiperi
5d4e22498d
Converted the Not operator to a complement operator in terms of functionality.
2014-08-27 13:42:56 -07:00
kortschak
443a091b72
Rename triple entities were relevant
2014-08-27 21:27:01 +09:30
Matei Chiperi
a0318aa7b2
Added comments for the loop iterator.
2014-08-26 12:26:54 -07:00
Matei Chiperi
d9b67c8335
Added comments for the not operator.
2014-08-26 11:59:14 -07:00
Matei Chiperi
d3bc8c1736
First implementations of loop and not operator for Cayley Gremlin.
2014-08-26 11:19:15 -07:00
kortschak
4345604a39
Inconsequential whitespace changes
2014-08-26 14:36:42 +09:30
kortschak
1faa8b1727
Fix build
2014-08-26 14:30:10 +09:30
kortschak
73dbfc9461
Fix worker termination handling
...
Fixes issue #102 .
2014-08-26 14:20:37 +09:30
kortschak
62e7037f20
Remove unnecessary indirection
2014-08-26 11:19:22 +09:30
kortschak
ab685cfe04
Mark limit as unused in gremlin and SEXP
...
Used in SEXP. Currently there appears to be no way to limit the number
of query returns from MQL.
2014-08-26 10:17:44 +09:30
kortschak
8df21cd8d9
Refactor work out into worker type
2014-08-26 10:12:44 +09:30
kortschak
95170eb8ed
Prepare gremlin for introduction of a worker type
2014-08-25 15:57:40 +09:30
720a80a51f
Merge pull request #126 from barakmich/replcrash
...
Temporarily fix REPL crash by locking the kill channel
2014-08-20 14:01:25 -04:00
8e16543da3
Merge branch 'master' into replcrash
2014-08-20 13:44:24 -04:00
f5f0ed7173
Import gremlin, v=2 for more cases
2014-08-20 13:39:26 -04:00
c1ff6ce1aa
lock s.kill, send done signal
2014-08-16 18:03:05 -04:00
f605e1138d
kortschak's fix
2014-08-16 16:52:09 -04:00
e453385d5e
explain logging and weight fixing
2014-08-16 05:19:16 -04:00
3770190db5
test clean
2014-08-10 20:10:00 -04:00
kortschak
62785d25c2
Merge branch 'master' into nexter
...
Conflicts:
graph/leveldb/all_iterator.go
graph/leveldb/iterator.go
graph/memstore/triplestore.go
query/gremlin/finals.go
2014-08-07 06:57:45 +09:30
kortschak
6acfdcc5d6
Use concrete value for quad.Quad
...
Comparison of -short benchmarks in cayley.
$ benchcmp pointer.bench concrete.bench
benchmark old ns/op new ns/op delta
BenchmarkNamePredicate 1673276 1655093 -1.09%
BenchmarkLargeSetsNoIntersection 318985907 261499984 -18.02%
BenchmarkNetAndSpeed 104403743 41516981 -60.23%
BenchmarkKeanuAndNet 17309258 16857513 -2.61%
BenchmarkKeanuAndSpeed 20159161 19282833 -4.35%
Comparison of pathological cases are not so happy.
benchmark old ns/op new ns/op delta
BenchmarkVeryLargeSetsSmallIntersection 55269775527 246084606672 +345.24%
BenchmarkHelplessContainsChecker 23436501319 24308906949 +3.72%
Profiling the worst case:
Pointer:
Total: 6121 samples
1973 32.2% 32.2% 1973 32.2% runtime.findfunc
773 12.6% 44.9% 773 12.6% readvarint
510 8.3% 53.2% 511 8.3% step
409 6.7% 59.9% 410 6.7% runtime.gentraceback
390 6.4% 66.2% 391 6.4% pcvalue
215 3.5% 69.8% 215 3.5% runtime.funcdata
181 3.0% 72.7% 181 3.0% checkframecopy
118 1.9% 74.6% 119 1.9% runtime.funcspdelta
96 1.6% 76.2% 96 1.6% runtime.topofstack
76 1.2% 77.5% 76 1.2% scanblock
Concrete:
Total: 25027 samples
9437 37.7% 37.7% 9437 37.7% runtime.findfunc
3853 15.4% 53.1% 3853 15.4% readvarint
2366 9.5% 62.6% 2366 9.5% step
2186 8.7% 71.3% 2186 8.7% runtime.gentraceback
1816 7.3% 78.5% 1816 7.3% pcvalue
1016 4.1% 82.6% 1016 4.1% runtime.funcdata
859 3.4% 86.0% 859 3.4% checkframecopy
506 2.0% 88.1% 506 2.0% runtime.funcspdelta
410 1.6% 89.7% 410 1.6% runtime.topofstack
303 1.2% 90.9% 303 1.2% runtime.newstack
2014-08-05 23:25:02 +09:30
kortschak
6513685520
Fix lock contention
2014-08-04 12:32:43 +09:30
kortschak
0fedecd392
Use time.Duration according to the time docs
...
Having a time.Duration measuring seconds is likely to cause problems at
a later stage. This change retains configuration compatibility while
adding idiomatic duration use.
2014-08-02 23:16:17 +09:30
kortschak
2d884f92e9
Name reduction
2014-08-02 22:58:53 +09:30
kortschak
bf3ac2be9e
Destutter gremlin.GremlinResult
2014-08-02 22:58:33 +09:30