Skip to content

Commit 95be89f

Browse files
authored
Merge pull request #397 from ldbc/interactive-factorgen
Add factor tables for Interactive
2 parents 5692cea + a6e9d15 commit 95be89f

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

src/main/scala/ldbc/snb/datagen/factors/FactorGenerationStage.scala

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,13 @@ object FactorGenerationStage extends DatagenStage with Logging {
301301
.join(undirectedKnows(personKnowsPerson).as("knows"), $"Person1.id" === $"knows.Person1Id", "leftouter")
302302
frequency(knows, value = $"knows.Person2Id", by = Seq($"Person1.id", $"Person1.creationDate", $"Person1.deletionDate"))
303303
},
304+
"personNumFriendsOfFriends" -> Factor(PersonKnowsPersonType, PersonType) { case Seq(personKnowsPerson, person1) =>
305+
val foaf = person1
306+
.as("Person1")
307+
.join(undirectedKnows(personKnowsPerson).as("knows1"), $"Person1.id" === $"knows1.Person1Id", "leftouter")
308+
.join(undirectedKnows(personKnowsPerson).as("knows2"), $"knows1.Person2Id" === $"knows2.Person1Id", "leftouter")
309+
frequency(foaf, value = $"knows2.Person2Id", by = Seq($"Person1.id", $"Person1.creationDate", $"Person1.deletionDate"))
310+
},
304311
"languageNumPosts" -> Factor(PostType) { case Seq(post) =>
305312
frequency(post.where($"language".isNotNull), value = $"id", by = Seq($"language"))
306313
},
@@ -454,6 +461,13 @@ object FactorGenerationStage extends DatagenStage with Logging {
454461
)
455462
.where($"creationDate" < $"deletionDate")
456463
.coalesce(size)
464+
},
465+
"personFirstNames" -> Factor(PersonType) { case Seq(person) =>
466+
frequency(
467+
person,
468+
value = $"id",
469+
by = Seq($"firstName")
470+
)
457471
}
458472
)
459473
}

0 commit comments

Comments
 (0)