neo4apis-twitter 0.0.1 → 0.0.2
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/README.md +12 -5
- data/lib/neo4apis/twitter.rb +7 -26
- data/lib/neo4apis/twitter/version.rb +4 -2
- metadata +1 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 43816b4c7d84582347f3d469727ff75ab9219cad
|
4
|
+
data.tar.gz: b7fb544aa5507bec0c2094723479baa4078a39f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fec12fd33e54c2601938c8b5e816ca99a26f8e359027aa8dcc1153d7b51b01fcb306024a8628b3c0d6f9e852fa53528a18fb19e85f43503903c01559e1a322a3
|
7
|
+
data.tar.gz: e00ac6020eed2fdc76fd9fe02303c2f66fe43c7870ce61b52aee6a9b8112ec78a04f4f26a844578ba298c8dbac267e7912ed4a5f7d2ef17c6ae0bbb284dea18f
|
data/README.md
CHANGED
@@ -1,16 +1,23 @@
|
|
1
1
|
|
2
2
|
neo4apis-twitter is a ruby gem for making importing data from twitter to neo4j easy
|
3
3
|
|
4
|
-
|
4
|
+
This adapter supports objects created from the `twitter` gem.
|
5
5
|
|
6
6
|
```ruby
|
7
7
|
|
8
8
|
twitter_client = Twitter::REST::Client.new ...
|
9
9
|
|
10
|
-
neo4japis_twitter = Neo4Apis::Twitter.new(Neo4j::Session.open,
|
11
|
-
|
12
|
-
neo4japis_twitter.batch do
|
13
|
-
|
10
|
+
neo4japis_twitter = Neo4Apis::Twitter.new(Neo4j::Session.open, import_retweets: true)
|
11
|
+
|
12
|
+
neo4japis_twitter.batch do
|
13
|
+
twitter_client.search("ebola", :result_type => "recent").take(100).each do |tweet|
|
14
|
+
# Imports:
|
15
|
+
# * The tweet
|
16
|
+
# * The tweeter,
|
17
|
+
# * The original tweet if a retweet
|
18
|
+
# * The user for the original tweet
|
19
|
+
import :Tweet, tweet
|
20
|
+
end
|
14
21
|
end
|
15
22
|
|
16
23
|
```
|
data/lib/neo4apis/twitter.rb
CHANGED
@@ -2,32 +2,13 @@ require 'neo4apis'
|
|
2
2
|
|
3
3
|
module Neo4Apis
|
4
4
|
class Twitter < Base
|
5
|
-
|
5
|
+
uuid :Tweet, :id
|
6
|
+
uuid :User, :id
|
6
7
|
|
7
|
-
|
8
|
-
|
8
|
+
importer :Tweet do |tweet|
|
9
|
+
user_node = import :User, tweet.user
|
9
10
|
|
10
|
-
|
11
|
-
|
12
|
-
options[:uuids] = (options[:uuids] || {}).merge({
|
13
|
-
Tweet: :id,
|
14
|
-
User: :id
|
15
|
-
})
|
16
|
-
|
17
|
-
super(neo4j_client, options)
|
18
|
-
end
|
19
|
-
|
20
|
-
def import_search(*args)
|
21
|
-
@client.search(*args).take(100).each do |tweet|
|
22
|
-
add_tweet(tweet)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def add_tweet(tweet)
|
29
|
-
user_node = add_user(tweet.user)
|
30
|
-
retweeted_tweet_node = add_tweet(tweet.retweeted_tweet) if tweet.retweeted_tweet?
|
11
|
+
retweeted_tweet_node = import :Tweet, tweet.retweeted_tweet if options[:import_retweets] && tweet.retweeted_tweet?
|
31
12
|
|
32
13
|
node = add_node :Tweet, {
|
33
14
|
id: tweet.id,
|
@@ -35,12 +16,12 @@ module Neo4Apis
|
|
35
16
|
}
|
36
17
|
|
37
18
|
add_relationship(:tweeted, user_node, node)
|
38
|
-
add_relationship(:retweets, node, retweeted_tweet_node) if tweet.retweeted_tweet?
|
19
|
+
add_relationship(:retweets, node, retweeted_tweet_node) if options[:import_retweets] && tweet.retweeted_tweet?
|
39
20
|
|
40
21
|
node
|
41
22
|
end
|
42
23
|
|
43
|
-
|
24
|
+
importer :User do |user|
|
44
25
|
add_node :User, {
|
45
26
|
id: user.id,
|
46
27
|
screen_name: user.screen_name,
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: neo4apis-twitter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Underwood
|
@@ -62,4 +62,3 @@ signing_key:
|
|
62
62
|
specification_version: 4
|
63
63
|
summary: An ruby gem to import twitter data to neo4j
|
64
64
|
test_files: []
|
65
|
-
has_rdoc:
|