Commit graph

348 commits

Author SHA1 Message Date
kortschak
6513685520 Fix lock contention 2014-08-04 12:32:43 +09:30
kortschak
ffb52af00b Rename GremlinTimeout -> Timeout
Given that there may be other Turing complete query interfaces
(particularly a Go query API), the timeout config should not be
specifically tied to gremlin.
2014-08-02 23:28:24 +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
kortschak
15a45ef0d4 Clean up style 2014-08-02 22:45:19 +09:30
kortschak
8ccf842518 Improve error handling
Export the timeout kill error and use error instead of string in result
struct.
2014-08-02 22:14:24 +09:30
kortschak
fe9ca5ffcc Fix data race in gremlin timeout handling
Fixes issue #95.
2014-08-02 22:01:02 +09:30
kortschak
b1a70d99aa Simplify Nexter interface
This change allows a Nexter to be used in the same manner as a scanner
using a for graph.Next(it) {} construction.

It is important that graph.Next(it) and any associated it.Result() calls
operate on the same iterator.
2014-08-01 09:15:02 +09:30
kortschak
f8e28e066e Rename NextResult -> NextPath
See discussion in #92.
2014-08-01 07:27:16 +09:30
cb177aa390 Merge pull request #92 from kortschak/names
Rename Check-ish -> Contains-ish
2014-07-31 16:58:53 -04:00
d54cd6a3d3 Merge pull request #90 from kortschak/stringer
Remove terminal newline from quad.Quad stringer
2014-07-31 16:38:57 -04:00
kortschak
1606e98d9f Rename Check-ish -> Contains-ish
Contains[*] indicates what the check is for.

[*] I considered Has/Have, but settled on Contains to avoid confusion
with the HasA iterator.
2014-07-31 15:29:42 +09:30
kortschak
b17334ea36 Remove terminal newline from quad.Quad stringer
This is the conventional implementation of a fmt.Stringer.

Also went through and fixed up some lint.
2014-07-31 11:43:20 +09:30
a81005ba21 Merge pull request #88 from kortschak/benchmarks
Add basic integration benchmarks
2014-07-30 20:17:50 -04:00
kortschak
d48d133cf1 Only run short tests on travis
Long tests are potentially very long, and may timeout internally. So
don't run them.
2014-07-31 09:42:56 +09:30
kortschak
09943c3eb6 Move sexp into query 2014-07-31 09:36:43 +09:30
kortschak
a6cf432313 Move query interface definitions into query 2014-07-31 08:52:24 +09:30
kortschak
38f7b79761 Allow short tests 2014-07-31 08:45:45 +09:30
kortschak
b4887e3c30 Update tests to use cquads parsed data 2014-07-31 08:38:31 +09:30
kortschak
1a0dd13735 Merge branch 'master' into benchmarks 2014-07-31 08:35:34 +09:30
kortschak
c4e4abbffc Add result validation 2014-07-31 08:33:18 +09:30
2673911c0f Merge pull request #89 from barakmich/build_versioning
Add automatic linker build versioning
2014-07-30 18:10:42 -04:00
8136f2abe9 fix usage to make more sense 2014-07-30 18:02:40 -04:00
kortschak
02672da9ad Fix typos 2014-07-31 07:32:38 +09:30
d2b1d64de3 Add version numbers and ARM build 2014-07-30 17:47:10 -04:00
kortschak
24253cd054 Add basic integration benchmarks
Currently only memstore is benchmarked and only with gremlin. No
checking of validity of results is performed.
2014-07-30 23:08:25 +09:30
kortschak
2dbbd17fe1 Merge branch 'declassify' into tip
Conflicts:
	graph/iterator/hasa_iterator.go
	graph/iterator/linksto_iterator.go
	graph/iterator/query_shape_test.go
	graph/leveldb/all_iterator.go
	graph/leveldb/iterator.go
	graph/leveldb/leveldb_test.go
	graph/memstore/triplestore_test.go
	graph/mongo/iterator.go
2014-07-30 16:40:37 +09:30
kortschak
d6f94be514 Base nexting on interface satisfaction
This is done unsubtlely at the moment and there is plenty of room for
optimisation of assertion location to prevent repeated reasserting as is
done now.
2014-07-30 16:06:46 +09:30
kortschak
b498a06a7b Intermediate step in removal of Base
We are marking types that will be Nexters and ResultNexters (I want a
better name for this one).
2014-07-30 15:21:48 +09:30
kortschak
375d953d93 Move current result handling out of Base
Delete majority of Base functionality.
2014-07-30 15:03:06 +09:30
kortschak
ee6d4c8db7 Move Size handling out of Base 2014-07-30 12:14:46 +09:30
kortschak
525230206a Move SubIterator handling out of Base 2014-07-30 12:11:14 +09:30
kortschak
189910c4b8 Remove Base dependency from Null 2014-07-30 12:08:44 +09:30
kortschak
01b7278c3a Move UID handling from Base
Also clean up some of the value creation code.
2014-07-30 11:44:58 +09:30
kortschak
1604dca737 Move tag handling out into graph.Tagger 2014-07-30 10:25:32 +09:30
kortschak
274d9ef57e Rename Provenance -> Label
's/Provenance/Label/g' 's/provenance/label/g' with human vetting.
2014-07-29 08:44:39 +09:30
kortschak
410202f3e0 Strip quoting angle in lone IRIRef terms 2014-07-29 08:33:35 +09:30
kortschak
7ce3a10d57 Evade quad.Quad String method 2014-07-29 08:32:49 +09:30
kortschak
79c1ba6c52 Properly check errors 2014-07-29 08:32:15 +09:30
0238332ca3 Merge pull request #85 from pbnjay/global_uids
fix non-pointer uintptr -> uint64, export NextUID
2014-07-28 11:50:12 -04:00
Jeremy Jay
a83b7ea367 fix non-pointer uintptr -> uint64, export NextUID
Allows other iterator implementations to use global UID namespace.
2014-07-28 11:26:33 -04:00
kortschak
41f6d3fd84 Temporarily use cquads only
I intend to make this configurable, but there is tight connection
between db.Load and db.Open that is getting in the way of that.

Testing on data set 30kmoviedata.cq.gz created by doing:

zcat 30kmoviedata.nq.gz | sed 's/[<>]//g' | gzip -c > 30kmoviedata.cq.gz

The following query is successful:

[{
  "type": "/film/film",
  "name": null,
  "/film/film/directed_by": {
    "name": "David Fincher"
  },
  "/film/film/starring": [{
    "/film/performance/actor": {
      "name": null
    }
  }]
}]

TODO: fix up naming for quads and make strict parsing an option.
2014-07-28 21:56:32 +09:30
kortschak
401c58426f Create quads hierarchy
* Move nquads into quad.
* Create cquads simplified parser in quad.
* Move Triple (renamed Quad) to quad.

Also made sure mongo actually implements BulkLoader.
2014-07-28 21:36:22 +09:30
1b24d66d8a rename 2014-07-27 15:41:52 -04:00
e13e65d09b single writer 2014-07-27 15:39:45 -04:00
7a8d4194bd wip 2014-07-27 15:26:57 -04:00
kortschak
01bc63810b Specify the limitations of quad/triple parsing 2014-07-26 17:45:56 +09:30
kortschak
64d79ee4d5 Actually perform the N-Quads test 2014-07-26 15:55:53 +09:30
kortschak
b276d117b1 Fix documentation error 2014-07-26 12:03:34 +09:30