pacer-titan 0.0.3-java → 0.0.7-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +2 -4
- data/Jarfile +3 -0
- data/README.md +2 -20
- data/Rakefile +1 -34
- data/lib/pacer-titan.rb +5 -6
- data/lib/pacer-titan/create_vertex.rb +42 -0
- data/lib/pacer-titan/encoder.rb +90 -0
- data/lib/pacer-titan/external_index_query.rb +3 -3
- data/lib/pacer-titan/graph.rb +6 -1
- data/lib/pacer-titan/rspec.rb +1 -1
- data/lib/pacer-titan/titan_query.rb +2 -2
- data/lib/pacer-titan/version.rb +2 -7
- data/lib/pacer-titan/vertex_query.rb +71 -0
- data/pacer-titan.gemspec +2 -2
- metadata +17 -16
- data/pom.xml +0 -130
- data/pom/standalone.xml +0 -22
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 36ba877d76765fcb75c5d4b72f8049b6452b52ae
|
|
4
|
+
data.tar.gz: eda4936a369f18b4b1fa725bf03c77d049a8d3a7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8c2fee47309443af0809d067a808f5f8819dd84c09f70e500e6cedab4b1fe30b4e533a8c4fd6bd67ba270e403465d892b04abaf4f7d13ef7eaa768ca0c32c1f9
|
|
7
|
+
data.tar.gz: 51efc28f0e4965fa2e1d1e6279e9e509ad4fa5520f40217da0d5b7fd65bf72215509e63ebe1dce7d4002d7785c530fad99c2a6303fd1ebb51a6ffcb87603c62d
|
data/.gitignore
CHANGED
data/Jarfile
ADDED
data/README.md
CHANGED
|
@@ -8,29 +8,11 @@ This is an alpha-version pacer adapter with basic support for a [Titan](http://t
|
|
|
8
8
|
|
|
9
9
|
## Installation
|
|
10
10
|
|
|
11
|
-
As always: ```gem 'pacer-titan'
|
|
12
|
-
|
|
13
|
-
If you want to hack at pacer-titan:
|
|
14
|
-
- You will need to install Maven first.
|
|
15
|
-
- Clone this repository.
|
|
16
|
-
- Run ```rake install``` in its directory to build Titan's jars.
|
|
17
|
-
- Include the gem in your project's gemfile, directing its path to your cloned copy.
|
|
11
|
+
As always: ```gem 'pacer-titan'```.
|
|
18
12
|
|
|
19
13
|
## Backends
|
|
20
14
|
|
|
21
|
-
This gem includes Titan 0.4
|
|
22
|
-
|
|
23
|
-
It seems embedded backends (embedded Cassandra, embedded ElasticSearch) do not launch without extra work specifying their class paths when launching your app.
|
|
24
|
-
|
|
25
|
-
The excellent [jBundler](https://github.com/mkristian/jbundler) does a great job of this for you, simply add any of the following to your Jarfile as needed:
|
|
26
|
-
|
|
27
|
-
```ruby
|
|
28
|
-
jar 'com.thinkaurelius.titan:titan-es', '~> 0.4.2' # ElasticSearch
|
|
29
|
-
jar 'com.thinkaurelius.titan:titan-cassandra', '~> 0.4.2' # Cassandra
|
|
30
|
-
jar 'com.thinkaurelius.titan:titan-berkeleyje', '~> 0.4.2' # BerkeleyDB
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
You may find your JRuby JVM crashes under heavy load if you include too many jars; increase your -XX:MaxPermSize
|
|
15
|
+
This gem includes Titan 0.5.4 with the Cassandra backend and ElasticSearch.
|
|
34
16
|
|
|
35
17
|
## Usage
|
|
36
18
|
|
data/Rakefile
CHANGED
|
@@ -1,36 +1,3 @@
|
|
|
1
1
|
require 'bundler'
|
|
2
|
-
Bundler::GemHelper.install_tasks
|
|
3
|
-
|
|
4
|
-
file 'pom.xml' => 'lib/pacer-titan/version.rb' do
|
|
5
|
-
pom = File.read 'pom.xml'
|
|
6
|
-
when_writing('Update pom.xml version number') do
|
|
7
|
-
open 'pom.xml', 'w' do |f|
|
|
8
|
-
pom.each_line do |line|
|
|
9
|
-
line.sub!(%r{<gem.version>.*</gem.version>}, "<gem.version>#{ Pacer::Titan::VERSION }</gem.version>")
|
|
10
|
-
line.sub!(%r{<blueprints.version>.*</blueprints.version>}, "<blueprints.version>#{ Pacer::Titan::BLUEPRINTS_VERSION }</blueprints.version>")
|
|
11
|
-
line.sub!(%r{<pipes.version>.*</pipes.version>}, "<pipes.version>#{ Pacer::Titan::PIPES_VERSION }</pipes.version>")
|
|
12
|
-
line.sub!(%r{<titan.version>.*</titan.version>}, "<titan.version>#{ Pacer::Titan::TITAN_VERSION }</titan.version>")
|
|
13
|
-
f << line
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
file Pacer::Titan::JAR_PATH => 'pom.xml' do
|
|
20
|
-
when_writing("Execute 'mvn package' task") do
|
|
21
|
-
system('mvn clean package')
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
task :note do
|
|
26
|
-
puts "NOTE: touch lib/pacer-titan/version.rb (or rake touch) to force everything to rebuild"
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
task :build => [:note, Pacer::Titan::JAR_PATH]
|
|
30
|
-
task :install => [:note, Pacer::Titan::JAR_PATH]
|
|
31
|
-
|
|
32
|
-
desc 'Touch version.rb so that the jar rebuilds'
|
|
33
|
-
task :touch do
|
|
34
|
-
system 'touch', 'lib/pacer-titan/version.rb'
|
|
35
|
-
end
|
|
36
2
|
|
|
3
|
+
Bundler::GemHelper.install_tasks
|
data/lib/pacer-titan.rb
CHANGED
|
@@ -4,10 +4,13 @@ lib_path = File.expand_path(File.join(File.dirname(__FILE__), '../lib'))
|
|
|
4
4
|
$:.unshift lib_path unless $:.any? { |path| path == lib_path }
|
|
5
5
|
|
|
6
6
|
require 'pacer-titan/version'
|
|
7
|
-
|
|
7
|
+
|
|
8
8
|
require 'pacer-titan/graph'
|
|
9
9
|
require 'pacer-titan/titan_query'
|
|
10
10
|
require 'pacer-titan/external_index_query'
|
|
11
|
+
require 'pacer-titan/create_vertex'
|
|
12
|
+
require 'pacer-titan/encoder'
|
|
13
|
+
require 'pacer-titan/vertex_query'
|
|
11
14
|
|
|
12
15
|
module Pacer
|
|
13
16
|
class << self
|
|
@@ -27,12 +30,8 @@ module Pacer
|
|
|
27
30
|
Pacer.open_graphs.delete path
|
|
28
31
|
end
|
|
29
32
|
|
|
30
|
-
Titan::Graph.new(Pacer::
|
|
33
|
+
Titan::Graph.new(Pacer::TitanEncoder, open, shutdown)
|
|
31
34
|
end
|
|
32
|
-
|
|
33
|
-
def executing_route(route)
|
|
34
|
-
Rails.logger.debug "Pacer Titan executing route: #{route.description}" if defined? Rails
|
|
35
|
-
end
|
|
36
35
|
end
|
|
37
36
|
end
|
|
38
37
|
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
module Pacer
|
|
2
|
+
module Titan
|
|
3
|
+
class Graph
|
|
4
|
+
# modified from Pacer - Use titan's add_vertex override to set vertex label when creating
|
|
5
|
+
# Create a vertex in the graph.
|
|
6
|
+
#
|
|
7
|
+
# @overload create_vertex(*args)
|
|
8
|
+
# @param [extension, Hash] *args extension (Module/Class) arguments will be
|
|
9
|
+
# added to the current vertex. A Hash will be
|
|
10
|
+
# treated as element properties.
|
|
11
|
+
# @overload create_vertex(id, *args)
|
|
12
|
+
# @param [element id] id the desired element id. Some graphs
|
|
13
|
+
# ignore this.
|
|
14
|
+
# @param [extension, Hash] *args extension (Module/Class) arguments will be
|
|
15
|
+
# added to the current vertex. A Hash will be
|
|
16
|
+
# treated as element properties.
|
|
17
|
+
def create_vertex(*args)
|
|
18
|
+
id, wrapper, modules, props = id_modules_properties(args)
|
|
19
|
+
label = props.delete(:label) if props
|
|
20
|
+
|
|
21
|
+
raw_vertex = creating_elements do
|
|
22
|
+
if label
|
|
23
|
+
blueprints_graph.addVertexWithLabel(label)
|
|
24
|
+
else
|
|
25
|
+
blueprints_graph.addVertex
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
if wrapper
|
|
30
|
+
vertex = wrapper.new graph, raw_vertex
|
|
31
|
+
else
|
|
32
|
+
vertex = base_vertex_wrapper.new graph, raw_vertex
|
|
33
|
+
end
|
|
34
|
+
if modules.any?
|
|
35
|
+
vertex = vertex.add_extensions modules
|
|
36
|
+
end
|
|
37
|
+
props.each { |k, v| vertex[k.to_s] = v } if props
|
|
38
|
+
vertex
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
require 'yaml'
|
|
2
|
+
|
|
3
|
+
module Pacer
|
|
4
|
+
# This encoder was originally part of pacer-neo4j. It uses native data where
|
|
5
|
+
# Neo4j could and for everything else it uses (slow (but easy))
|
|
6
|
+
# human-readable YAML encoding.
|
|
7
|
+
# Modified to convert times to UTC when saving and use Rails' time zone support
|
|
8
|
+
class TitanEncoder
|
|
9
|
+
def self.encode_property(value)
|
|
10
|
+
case value
|
|
11
|
+
when nil
|
|
12
|
+
nil
|
|
13
|
+
when String
|
|
14
|
+
value = value.strip
|
|
15
|
+
value = nil if value == ''
|
|
16
|
+
value
|
|
17
|
+
when Symbol
|
|
18
|
+
value.to_s
|
|
19
|
+
when Numeric
|
|
20
|
+
if value.is_a? Bignum
|
|
21
|
+
dump value
|
|
22
|
+
else
|
|
23
|
+
value.to_java
|
|
24
|
+
end
|
|
25
|
+
when true, false
|
|
26
|
+
value.to_java
|
|
27
|
+
when Date
|
|
28
|
+
value.to_time.strftime ' time %Y-%m-%d'
|
|
29
|
+
when DateTime, Time
|
|
30
|
+
value.to_time.utc.strftime ' time %Y-%m-%d %H:%M:%S.%L %z'
|
|
31
|
+
when Array
|
|
32
|
+
if value.length == 0
|
|
33
|
+
value_type = Fixnum
|
|
34
|
+
else
|
|
35
|
+
value_type = value.first.class
|
|
36
|
+
value_type = TrueClass if value_type == FalseClass
|
|
37
|
+
value.each do |v|
|
|
38
|
+
if value_type != v.class or (value == true or value == false and value_type == TrueClass)
|
|
39
|
+
value_type = nil
|
|
40
|
+
break
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
case value_type
|
|
45
|
+
when Fixnum
|
|
46
|
+
value.to_java :long
|
|
47
|
+
when Float
|
|
48
|
+
value.to_java :double
|
|
49
|
+
when TrueClass
|
|
50
|
+
value.to_java :boolean
|
|
51
|
+
when String
|
|
52
|
+
value.to_java :string
|
|
53
|
+
when Symbol
|
|
54
|
+
value.to_java :string
|
|
55
|
+
else
|
|
56
|
+
dump value
|
|
57
|
+
end
|
|
58
|
+
else
|
|
59
|
+
dump value
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def self.decode_property(value)
|
|
64
|
+
if value.is_a? String and value[0, 1] == ' '
|
|
65
|
+
if value[1, 4] == 'time'
|
|
66
|
+
# FIXME: we lose the milliseconds here (and time zone if no Rails)...
|
|
67
|
+
if defined? Rails
|
|
68
|
+
Time.zone.parse value[6..-1]
|
|
69
|
+
else
|
|
70
|
+
Time.parse value[6..-1]
|
|
71
|
+
end
|
|
72
|
+
else
|
|
73
|
+
YAML.load(value[1..-1])
|
|
74
|
+
end
|
|
75
|
+
elsif value.is_a? ArrayJavaProxy
|
|
76
|
+
value.to_a
|
|
77
|
+
else
|
|
78
|
+
value
|
|
79
|
+
end
|
|
80
|
+
rescue Psych::SyntaxError
|
|
81
|
+
value
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
private
|
|
85
|
+
|
|
86
|
+
def self.dump(value)
|
|
87
|
+
" #{ YAML.dump value }"
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
end
|
|
@@ -4,11 +4,11 @@ module Pacer
|
|
|
4
4
|
# Use Titan's indexQuery to access external indexes using a custom lucene string
|
|
5
5
|
# eg. for grouped words search starting with lorem: g.index_query(:text, '(lorem*)')
|
|
6
6
|
# can also pass an array of properties to hit multiple elasticsearch indices at once
|
|
7
|
-
def index_query(properties, query, options = {})
|
|
7
|
+
def index_query(index_name, properties, query, options = {})
|
|
8
8
|
options[:element_type] ||= :vertex
|
|
9
|
-
options[:index_name] ||= 'search' # name of the external index as configured in the .properties file
|
|
10
9
|
|
|
11
10
|
chain_route options.merge(
|
|
11
|
+
index_name: index_name,
|
|
12
12
|
query: query,
|
|
13
13
|
properties: properties,
|
|
14
14
|
filter: :external_index_query,
|
|
@@ -40,7 +40,7 @@ module Pacer
|
|
|
40
40
|
path = path.vertices.collect{ |v| v.get_element }
|
|
41
41
|
end
|
|
42
42
|
|
|
43
|
-
# expects query in the form of 'v.text:(lorem*)'
|
|
43
|
+
# expects query in the form of 'v.text:(lorem*)' to search 'text' vertex property with lucene query syntax '(lorem*)'
|
|
44
44
|
def build_titan_lucene_query(term, property)
|
|
45
45
|
if property.is_a? Array
|
|
46
46
|
queries = []
|
data/lib/pacer-titan/graph.rb
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
module Pacer
|
|
2
2
|
module Titan
|
|
3
3
|
class Graph < PacerGraph
|
|
4
|
+
|
|
5
|
+
# Include label in key indices so we can limit index queries by vertex label
|
|
6
|
+
def key_indices(type = nil)
|
|
7
|
+
indices = super
|
|
8
|
+
indices.add 'label'
|
|
9
|
+
end
|
|
4
10
|
|
|
5
11
|
# Use GraphQuery for index lookups, based on pacer-neo4j's code:
|
|
6
12
|
private
|
|
@@ -29,7 +35,6 @@ module Pacer
|
|
|
29
35
|
def indexed_properties(type, filters)
|
|
30
36
|
filters.properties.select { |k, v| key_indices(type).include?(k) }
|
|
31
37
|
end
|
|
32
|
-
|
|
33
38
|
end
|
|
34
39
|
end
|
|
35
40
|
end
|
data/lib/pacer-titan/rspec.rb
CHANGED
|
@@ -18,7 +18,7 @@ class RSpec::GraphRunner
|
|
|
18
18
|
|
|
19
19
|
def titan_graph_2
|
|
20
20
|
return @titan_graph_2 if @titan_graph_2
|
|
21
|
-
@
|
|
21
|
+
@titan_graph_2 = Pacer.titan('../pacer-titan/config/inmemory.properties')
|
|
22
22
|
end
|
|
23
23
|
end
|
|
24
24
|
end
|
|
@@ -3,7 +3,7 @@ module Pacer
|
|
|
3
3
|
class Graph
|
|
4
4
|
# Use Titan's QueryBuilder to access indices when you need to specify other comparison predicates
|
|
5
5
|
# eg: g.query{ has('description', Text::CONTAINS, 'abc').has('login', 'ilya') }.out(:messages)...
|
|
6
|
-
#
|
|
6
|
+
# import com.thinkaurelius.titan.core.attribute.Text for the above example
|
|
7
7
|
def query(options = {}, &query)
|
|
8
8
|
options[:element_type] ||= :vertex
|
|
9
9
|
|
|
@@ -73,7 +73,7 @@ module Pacer
|
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
def inspect_string
|
|
76
|
-
"#{ inspect_class_name }"
|
|
76
|
+
"#{ inspect_class_name } (#{query.inspect})"
|
|
77
77
|
end
|
|
78
78
|
end
|
|
79
79
|
end
|
data/lib/pacer-titan/version.rb
CHANGED
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
module Pacer
|
|
2
2
|
module Titan
|
|
3
|
-
VERSION = "0.0.
|
|
4
|
-
|
|
5
|
-
JAR_PATH = "lib/#{ JAR }"
|
|
6
|
-
BLUEPRINTS_VERSION = "2.4.0"
|
|
7
|
-
PIPES_VERSION = "2.4.0"
|
|
8
|
-
TITAN_VERSION = "0.4.2"
|
|
9
|
-
PACER_REQ = ">= 1.4.0"
|
|
3
|
+
VERSION = "0.0.7"
|
|
4
|
+
PACER_REQ = ">= 2.0.6"
|
|
10
5
|
end
|
|
11
6
|
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Pacer
|
|
2
|
+
module Core::Graph::VerticesRoute
|
|
3
|
+
# Helper function to query a vertex-centric index
|
|
4
|
+
def vertex_query(labels, direction, options={}, &block)
|
|
5
|
+
options[:element_type] ||= :vertex
|
|
6
|
+
limit = options.delete(:limit)
|
|
7
|
+
order_by = options.delete(:order)
|
|
8
|
+
|
|
9
|
+
chain_route options.merge(pipe_class: Pacer::Pipes::VertexQueryPipe,
|
|
10
|
+
pipe_args: [labels, direction, options[:element_type], block, limit, order_by],
|
|
11
|
+
route_name: "VertexQuery (#{labels} - #{direction})")
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Note Gremlin has a VertexQueryPipe, however it does not support Titan's orderBy for vertex-centric indexes, hence ruby implementation:
|
|
16
|
+
module Pipes
|
|
17
|
+
class VertexQueryPipe < RubyPipe
|
|
18
|
+
|
|
19
|
+
def initialize(labels, direction, element_type, block=nil, limit=nil, order_by={})
|
|
20
|
+
super()
|
|
21
|
+
@labels = labels
|
|
22
|
+
@block = block
|
|
23
|
+
@limit = limit
|
|
24
|
+
@current_iterator = nil
|
|
25
|
+
@order_by = order_by.keys.first if order_by
|
|
26
|
+
@order_direction = order_by.values.first if order_by
|
|
27
|
+
@element_type = element_type
|
|
28
|
+
|
|
29
|
+
case direction.to_sym
|
|
30
|
+
when :out
|
|
31
|
+
@direction = com.tinkerpop.blueprints.Direction::OUT
|
|
32
|
+
when :in
|
|
33
|
+
@direction = com.tinkerpop.blueprints.Direction::IN
|
|
34
|
+
when :both
|
|
35
|
+
@direction = com.tinkerpop.blueprints.Direction::BOTH
|
|
36
|
+
else
|
|
37
|
+
raise "Invalid direction to VertexQueryPipe (use :out, :in, or :both)"
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
case @order_direction.try(:to_sym)
|
|
41
|
+
when :asc
|
|
42
|
+
@order_direction = com.thinkaurelius.titan.core.Order::ASC
|
|
43
|
+
when :desc
|
|
44
|
+
@order_direction = com.thinkaurelius.titan.core.Order::DESC
|
|
45
|
+
else
|
|
46
|
+
@order_direction = nil
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def processNextStart
|
|
51
|
+
while true
|
|
52
|
+
if @current_iterator.try(:has_next)
|
|
53
|
+
return @current_iterator.next
|
|
54
|
+
else
|
|
55
|
+
vertex = starts.next
|
|
56
|
+
query = vertex.query.direction(@direction).labels(@labels)
|
|
57
|
+
query = query.instance_exec(&@block) if @block
|
|
58
|
+
query = query.order_by(@order_by.to_s, @order_direction) if @order_by && @order_direction
|
|
59
|
+
query = query.limit(@limit) if @limit
|
|
60
|
+
if @element_type == :vertex
|
|
61
|
+
@current_iterator = query.vertices.iterator
|
|
62
|
+
else
|
|
63
|
+
@current_iterator = query.edges.iterator
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
data/pacer-titan.gemspec
CHANGED
|
@@ -9,12 +9,12 @@ Gem::Specification.new do |s|
|
|
|
9
9
|
s.authors = ["Ilya Kardailsky"]
|
|
10
10
|
s.email = ["ilya.kardailsky@gmail.com"]
|
|
11
11
|
s.homepage = "http://www.github.com"
|
|
12
|
-
s.summary = %q{Titan
|
|
12
|
+
s.summary = %q{Titan adapter for Pacer}
|
|
13
13
|
s.description = s.summary
|
|
14
14
|
|
|
15
15
|
s.add_dependency 'pacer', Pacer::Titan::PACER_REQ
|
|
16
16
|
|
|
17
|
-
s.files = `git ls-files`.split("\n")
|
|
17
|
+
s.files = `git ls-files`.split("\n")
|
|
18
18
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
20
20
|
s.require_paths = ["lib"]
|
metadata
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pacer-titan
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.7
|
|
5
5
|
platform: java
|
|
6
6
|
authors:
|
|
7
7
|
- Ilya Kardailsky
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2015-06-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: pacer
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
16
|
- - '>='
|
|
18
17
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
|
|
18
|
+
version: 2.0.6
|
|
19
|
+
name: pacer
|
|
21
20
|
prerelease: false
|
|
21
|
+
type: :runtime
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - '>='
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
27
|
-
description: Titan
|
|
26
|
+
version: 2.0.6
|
|
27
|
+
description: Titan adapter for Pacer
|
|
28
28
|
email:
|
|
29
29
|
- ilya.kardailsky@gmail.com
|
|
30
30
|
executables: []
|
|
@@ -33,25 +33,26 @@ extra_rdoc_files: []
|
|
|
33
33
|
files:
|
|
34
34
|
- .gitignore
|
|
35
35
|
- Gemfile
|
|
36
|
+
- Jarfile
|
|
36
37
|
- LICENSE.txt
|
|
37
38
|
- README.md
|
|
38
39
|
- Rakefile
|
|
39
40
|
- config/cassandra-es.properties
|
|
40
41
|
- config/inmemory.properties
|
|
41
42
|
- lib/pacer-titan.rb
|
|
43
|
+
- lib/pacer-titan/create_vertex.rb
|
|
44
|
+
- lib/pacer-titan/encoder.rb
|
|
42
45
|
- lib/pacer-titan/external_index_query.rb
|
|
43
46
|
- lib/pacer-titan/graph.rb
|
|
44
47
|
- lib/pacer-titan/rspec.rb
|
|
45
48
|
- lib/pacer-titan/titan_query.rb
|
|
46
49
|
- lib/pacer-titan/version.rb
|
|
50
|
+
- lib/pacer-titan/vertex_query.rb
|
|
47
51
|
- pacer-titan.gemspec
|
|
48
|
-
- pom.xml
|
|
49
|
-
- pom/standalone.xml
|
|
50
|
-
- lib/pacer-titan-0.0.3-standalone.jar
|
|
51
52
|
homepage: http://www.github.com
|
|
52
53
|
licenses: []
|
|
53
54
|
metadata: {}
|
|
54
|
-
post_install_message:
|
|
55
|
+
post_install_message:
|
|
55
56
|
rdoc_options: []
|
|
56
57
|
require_paths:
|
|
57
58
|
- lib
|
|
@@ -66,9 +67,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
66
67
|
- !ruby/object:Gem::Version
|
|
67
68
|
version: '0'
|
|
68
69
|
requirements: []
|
|
69
|
-
rubyforge_project:
|
|
70
|
-
rubygems_version: 2.
|
|
71
|
-
signing_key:
|
|
70
|
+
rubyforge_project:
|
|
71
|
+
rubygems_version: 2.4.5
|
|
72
|
+
signing_key:
|
|
72
73
|
specification_version: 4
|
|
73
|
-
summary: Titan
|
|
74
|
+
summary: Titan adapter for Pacer
|
|
74
75
|
test_files: []
|
data/pom.xml
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
3
|
-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
4
|
-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
5
|
-
<modelVersion>4.0.0</modelVersion>
|
|
6
|
-
<groupId>com.tinkerpop.pacer</groupId>
|
|
7
|
-
<artifactId>pacer-titan</artifactId>
|
|
8
|
-
<!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-titan/version.rb -->
|
|
9
|
-
<properties>
|
|
10
|
-
<gem.version>0.0.3</gem.version>
|
|
11
|
-
<blueprints.version>2.4.0</blueprints.version>
|
|
12
|
-
<pipes.version>2.4.0</pipes.version>
|
|
13
|
-
<titan.version>0.4.2</titan.version>
|
|
14
|
-
</properties>
|
|
15
|
-
<!-- NOTE: the following properties are automatically updated based on the values in lib/pacer-titan/version.rb -->
|
|
16
|
-
<version>${gem.version}</version>
|
|
17
|
-
<packaging>pom</packaging>
|
|
18
|
-
<url>https://github.com/pangloss/pacer</url>
|
|
19
|
-
<name>Pacer Titan dependencies and related code.</name>
|
|
20
|
-
<description>
|
|
21
|
-
</description>
|
|
22
|
-
<inceptionYear>2014</inceptionYear>
|
|
23
|
-
<developers>
|
|
24
|
-
<developer>
|
|
25
|
-
<name>Ilya Kardailsky</name>
|
|
26
|
-
<email>ilya.kardailsky@gmail.com</email>
|
|
27
|
-
<url>http://github.com</url>
|
|
28
|
-
</developer>
|
|
29
|
-
</developers>
|
|
30
|
-
<dependencies>
|
|
31
|
-
<!-- PROPERTY GRAPH MODEL SUPPORT -->
|
|
32
|
-
<dependency>
|
|
33
|
-
<groupId>com.tinkerpop.blueprints</groupId>
|
|
34
|
-
<artifactId>blueprints-core</artifactId>
|
|
35
|
-
<version>${blueprints.version}</version>
|
|
36
|
-
</dependency>
|
|
37
|
-
<!-- GRAPH TRAVERSAL SUPPORT -->
|
|
38
|
-
<dependency>
|
|
39
|
-
<groupId>com.tinkerpop</groupId>
|
|
40
|
-
<artifactId>pipes</artifactId>
|
|
41
|
-
<version>${pipes.version}</version>
|
|
42
|
-
</dependency>
|
|
43
|
-
<!-- TITAN SUPPORT -->
|
|
44
|
-
<dependency>
|
|
45
|
-
<groupId>com.thinkaurelius.titan</groupId>
|
|
46
|
-
<artifactId>titan-core</artifactId>
|
|
47
|
-
<version>${titan.version}</version>
|
|
48
|
-
</dependency>
|
|
49
|
-
</dependencies>
|
|
50
|
-
|
|
51
|
-
<repositories>
|
|
52
|
-
<repository>
|
|
53
|
-
<id>tinkerpop-repository</id>
|
|
54
|
-
<name>TinkerPop Maven2 Repository</name>
|
|
55
|
-
<url>http://tinkerpop.com/maven2</url>
|
|
56
|
-
<snapshots>
|
|
57
|
-
<enabled>true</enabled>
|
|
58
|
-
<updatePolicy>always</updatePolicy>
|
|
59
|
-
</snapshots>
|
|
60
|
-
</repository>
|
|
61
|
-
</repositories>
|
|
62
|
-
|
|
63
|
-
<distributionManagement>
|
|
64
|
-
<repository>
|
|
65
|
-
<id>tinkerpop-repository</id>
|
|
66
|
-
<name>TinkerPop Maven2 Repository</name>
|
|
67
|
-
<url>ftp://ftp.tinkerpop.com:21/public/maven2/</url>
|
|
68
|
-
</repository>
|
|
69
|
-
</distributionManagement>
|
|
70
|
-
|
|
71
|
-
<build>
|
|
72
|
-
<directory>${basedir}/target</directory>
|
|
73
|
-
<finalName>${project.artifactId}-${project.version}</finalName>
|
|
74
|
-
<resources>
|
|
75
|
-
<resource>
|
|
76
|
-
<directory>${basedir}/src/main/resources
|
|
77
|
-
</directory>
|
|
78
|
-
</resource>
|
|
79
|
-
</resources>
|
|
80
|
-
<testResources>
|
|
81
|
-
<testResource>
|
|
82
|
-
<directory>${basedir}/src/test/resources
|
|
83
|
-
</directory>
|
|
84
|
-
</testResource>
|
|
85
|
-
</testResources>
|
|
86
|
-
<plugins>
|
|
87
|
-
<plugin>
|
|
88
|
-
<artifactId>maven-compiler-plugin</artifactId>
|
|
89
|
-
<configuration>
|
|
90
|
-
<source>1.6</source>
|
|
91
|
-
<target>1.6</target>
|
|
92
|
-
</configuration>
|
|
93
|
-
</plugin>
|
|
94
|
-
<plugin>
|
|
95
|
-
<artifactId>maven-assembly-plugin</artifactId>
|
|
96
|
-
<version>2.2-beta-4</version>
|
|
97
|
-
<executions>
|
|
98
|
-
<execution>
|
|
99
|
-
<phase>package</phase>
|
|
100
|
-
<goals>
|
|
101
|
-
<goal>attached</goal>
|
|
102
|
-
</goals>
|
|
103
|
-
</execution>
|
|
104
|
-
</executions>
|
|
105
|
-
<configuration>
|
|
106
|
-
<descriptors>
|
|
107
|
-
<descriptor>pom/standalone.xml</descriptor>
|
|
108
|
-
</descriptors>
|
|
109
|
-
<finalName>${project.artifactId}-${project.version}</finalName>
|
|
110
|
-
<outputDirectory>lib</outputDirectory>
|
|
111
|
-
<workDirectory>target/assembly/work</workDirectory>
|
|
112
|
-
<tarLongFileMode>warn</tarLongFileMode>
|
|
113
|
-
</configuration>
|
|
114
|
-
</plugin>
|
|
115
|
-
<plugin>
|
|
116
|
-
<groupId>org.apache.maven.plugins</groupId>
|
|
117
|
-
<artifactId>maven-javadoc-plugin</artifactId>
|
|
118
|
-
<version>2.6.1</version>
|
|
119
|
-
</plugin>
|
|
120
|
-
</plugins>
|
|
121
|
-
<extensions>
|
|
122
|
-
<extension>
|
|
123
|
-
<groupId>org.apache.maven.wagon</groupId>
|
|
124
|
-
<artifactId>wagon-ftp</artifactId>
|
|
125
|
-
<version>1.0-alpha-6</version>
|
|
126
|
-
</extension>
|
|
127
|
-
</extensions>
|
|
128
|
-
</build>
|
|
129
|
-
|
|
130
|
-
</project>
|
data/pom/standalone.xml
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
<assembly>
|
|
2
|
-
<id>standalone</id>
|
|
3
|
-
<formats>
|
|
4
|
-
<format>jar</format>
|
|
5
|
-
</formats>
|
|
6
|
-
<includeBaseDirectory>false</includeBaseDirectory>
|
|
7
|
-
|
|
8
|
-
<fileSets>
|
|
9
|
-
<fileSet>
|
|
10
|
-
<directory>target/classes</directory>
|
|
11
|
-
<outputDirectory>/</outputDirectory>
|
|
12
|
-
</fileSet>
|
|
13
|
-
</fileSets>
|
|
14
|
-
|
|
15
|
-
<dependencySets>
|
|
16
|
-
<dependencySet>
|
|
17
|
-
<outputDirectory>/</outputDirectory>
|
|
18
|
-
<unpack>true</unpack>
|
|
19
|
-
<scope>runtime</scope>
|
|
20
|
-
</dependencySet>
|
|
21
|
-
</dependencySets>
|
|
22
|
-
</assembly>
|