Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
03299d4
Remove VertexWithListId, which no test uses
danielcweber Oct 1, 2026
08a89dc
Declare TimeFrame's properties non-virtual, as nothing overrides them
danielcweber Oct 1, 2026
9d186bd
Nest VertexWithStringId and EdgeWithStringId in the one test class th…
danielcweber Oct 1, 2026
49ec599
Keep the projection targets next to the test class that projects to them
danielcweber Oct 1, 2026
33d9451
Keep the GraphSON-only targets next to the other ones the GraphSON te…
danielcweber Oct 1, 2026
8e46d97
Remove Person.SomeObscureProperty, which no test uses
danielcweber Oct 1, 2026
855369f
Remove EntityWithTwoIntProperties
danielcweber Oct 1, 2026
3a82bd0
Rename TimeFrame to ScalarVertex
danielcweber Oct 1, 2026
0d86b55
Rename Language to SimpleVertex
danielcweber Oct 1, 2026
62cac8e
Rename Country to MetaPropertyVertex
danielcweber Oct 1, 2026
10143ae
Rename Company to SiblingVertex
danielcweber Oct 1, 2026
0d29af7
Rename Person to RichVertex
danielcweber Oct 1, 2026
d276bc2
Rename Speaks to EmptyEdge
danielcweber Oct 1, 2026
76e7bac
Rename LivesIn to PropertyEdge
danielcweber Oct 1, 2026
38f002a
Rename WorksFor to RichEdge
danielcweber Oct 1, 2026
1fc15b1
Rename Authority and IAuthority to AbstractVertex and IAbstractVertex
danielcweber Oct 1, 2026
78d0ac0
Rename PropertyValidity to MetaModel
danielcweber Oct 1, 2026
d9d4b64
Rename Gender to SomeEnum and its values to Zero, One and Two
danielcweber Oct 1, 2026
3a145a6
Rename the members holding SomeEnum to Enum
danielcweber Oct 1, 2026
91571ad
Rename PersonLanguageTuple to RichVertexSimpleVertexTuple, after the …
danielcweber Oct 1, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 3 additions & 3 deletions test/Benchmarks/QueryBuildingBenchmarks.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ public void Setup() => _g = g

[Benchmark]
public object ComplexTraversalQuery() => _g
.V<Person>()
.V<RichVertex>()
.Where(p => p.Age > 25)
.Out<WorksFor>()
.OfType<Company>()
.Out<RichEdge>()
.OfType<SiblingVertex>()
.Where(c => c.Name!.Value.StartsWith("Tech"));
}
}
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('LivesIn').to(__.addV('Country').property(single,'PartitionKey','PartitionKey')).inV().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('RichVertex').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('PropertyEdge').to(__.addV('MetaPropertyVertex').property(single,'PartitionKey','PartitionKey')).inV().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('LivesIn').to(__.addV('Country').property(single,'PartitionKey','PartitionKey')).outV().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('RichVertex').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('PropertyEdge').to(__.addV('MetaPropertyVertex').property(single,'PartitionKey','PartitionKey')).outV().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addE('WorksFor').property('To','2020-04-07T14:43:36.0000000+00:00').from(__.addV('Person').property(single,'Age',0).property(single,'PartitionKey','PartitionKey')).to(__.addV('Company').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addE('RichEdge').property('To','2020-04-07T14:43:36.0000000+00:00').from(__.addV('RichVertex').property(single,'Age',0).property(single,'PartitionKey','PartitionKey')).to(__.addV('SiblingVertex').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Country').property(single,'CountryCallingCode','+49').property(single,'PartitionKey','PartitionKey').as('_a').addV('Language').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').addE('Speaks').from('_a').project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addV('MetaPropertyVertex').property(single,'CountryCallingCode','+49').property(single,'PartitionKey','PartitionKey').as('_a').addV('SimpleVertex').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').addE('EmptyEdge').from('_a').project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addE('WorksFor').property('From','2020-04-07T14:43:36.0000000+00:00').property('Role','Admin').property('To','2020-04-07T14:43:36.0000000+00:00').from(__.addV('Person').property(single,'Age',43).property(single,'PartitionKey','PartitionKey')).to(__.addV('Company').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addE('RichEdge').property('From','2020-04-07T14:43:36.0000000+00:00').property('Role','Admin').property('To','2020-04-07T14:43:36.0000000+00:00').from(__.addV('RichVertex').property(single,'Age',43).property(single,'PartitionKey','PartitionKey')).to(__.addV('SiblingVertex').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'Name','Bob').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').addE('LivesIn').from(__.V().hasLabel('Country').has('CountryCallingCode','+49')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addV('RichVertex').property(single,'Age',0).property(single,'Name','Bob').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').addE('PropertyEdge').from(__.V().hasLabel('MetaPropertyVertex').has('CountryCallingCode','+49')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('LivesIn').property('Since','2020-04-07T14:43:36.0000000+00:00').to(__.addV('Country').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addV('RichVertex').property(single,'Age',0).property(single,'PartitionKey','PartitionKey').addE('PropertyEdge').property('Since','2020-04-07T14:43:36.0000000+00:00').to(__.addV('MetaPropertyVertex').property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').as('_a').addV('Country').property(single,'CountryCallingCode','+49').property(single,'PartitionKey','PartitionKey').addE('Speaks').to('_a').project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addV('SimpleVertex').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').as('_a').addV('MetaPropertyVertex').property(single,'CountryCallingCode','+49').property(single,'PartitionKey','PartitionKey').addE('EmptyEdge').to('_a').project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addE('WorksFor').property('From','2020-04-07T14:43:36.0000000+00:00').property('Role','Admin').property('To','2020-04-07T14:43:36.0000000+00:00').to(__.addV('Company').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).from(__.addV('Person').property(single,'Age',0).property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addE('RichEdge').property('From','2020-04-07T14:43:36.0000000+00:00').property('Role','Admin').property('To','2020-04-07T14:43:36.0000000+00:00').to(__.addV('SiblingVertex').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey')).from(__.addV('RichVertex').property(single,'Age',0).property(single,'PartitionKey','PartitionKey')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'Name','Bob').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').addE('LivesIn').to(__.V().hasLabel('Country').has('CountryCallingCode','+49')).project('id','label','properties').by(id).by(label).by(__.valueMap())
g.addV('RichVertex').property(single,'Age',0).property(single,'Name','Bob').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').addE('PropertyEdge').to(__.V().hasLabel('MetaPropertyVertex').has('CountryCallingCode','+49')).project('id','label','properties').by(id).by(label).by(__.valueMap())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('TimeFrame').property(single,'Duration',02:00:00).property(single,'Enabled',false).property(single,'PartitionKey','PartitionKey').property(single,'StartTime',08:00:00).project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('ScalarVertex').property(single,'Duration',02:00:00).property(single,'Enabled',false).property(single,'PartitionKey','PartitionKey').property(single,'StartTime',08:00:00).project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Name','Marko').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('RichVertex').property(single,'Name','Marko').property(single,'PartitionKey','PartitionKey').property(single,'RegistrationDate','2020-04-07T14:43:36.0000000+00:00').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Company').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(list,'Locations','Aachen','ValidFrom','2019-01-01T01:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SiblingVertex').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(list,'Locations','Aachen','ValidFrom','2019-01-01T01:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Country').property(single,'Name','GER','de','Deutschland','en','Germany').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('MetaPropertyVertex').property(single,'Name','GER','de','Deutschland','en','Germany').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Country').property(single,'Name','GER').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('MetaPropertyVertex').property(single,'Name','GER').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'Image',System.Byte[]).property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('RichVertex').property(single,'Age',0).property(single,'Image',System.Byte[]).property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Person').property(single,'Age',0).property(single,'Gender',Female).property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('RichVertex').property(single,'Age',0).property(single,'Enum',One).property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Company').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey').property(list,'PhoneNumbers','+4912345').property(list,'PhoneNumbers','+4923456').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SiblingVertex').property(single,'FoundingDate','0001-01-01T00:00:00.0000000+00:00').property(single,'PartitionKey','PartitionKey').property(list,'PhoneNumbers','+4912345').property(list,'PhoneNumbers','+4923456').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'lang','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'lang','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.addV('Language').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
g.addV('SimpleVertex').property(single,'IetfLanguageTag','en').property(single,'PartitionKey','PartitionKey').project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold()))
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.V().hasLabel('Person').aggregate('_a').cap('_a').map(__.unfold().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold())).fold())
g.V().hasLabel('RichVertex').aggregate('_a').cap('_a').map(__.unfold().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold())).fold())
Original file line number Diff line number Diff line change
@@ -1 +1 @@
g.V().hasLabel('Person').aggregate('_a').cap('_a').select('_a').map(__.unfold().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold())).fold())
g.V().hasLabel('RichVertex').aggregate('_a').cap('_a').select('_a').map(__.unfold().project('id','label','properties').by(id).by(label).by(__.properties().group().by(label).by(__.project('id','label','value','properties').by(id).by(label).by(value).by(__.valueMap()).fold())).fold())
Loading
Loading