Docs & Rules

neo4j/neo4j-dotnet-driverGitHubLast refreshed Oct 2, 2026

This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works

6.xb660717listed 18h ago

Is this yours? Install to manage it

Once installed, Striff checks every pull request.

13
4
4
1
3
4
4
4
5
10 docs, listed Oct 2
neo4j/neo4j-dotnet-driverOpen repository

neo4j/neo4j-dotnet-driver — documented rules

13 of 13 rules, printed October 3, 2026.

The sentence in your docs
Read Oct 2
[ConventionTranslator<T>](xref:Neo4j.Driver.Mapping.ConventionTranslation.ConventionTranslator1) implements [IConventionTranslator`](xref:Neo4j.Driver.Mapping.ConventionTranslation.IConventionTranslator) and is what the built-in overloads use internally;
ConventionTranslator implements IConventionTranslator
Holds
Read Oct 2
Method [ AsObject<T>() ](xref:Neo4j.Driver.Mapping.RecordExtensions.AsObject 1(Neo4j.Driver.IRecord)), Returns T, Notes Maps the record to type T
RecordExtensions has an AsObject method
Holds
Read Oct 2
Method [ AsObjectFromBlueprint<T>(T) ](xref:Neo4j.Driver.Mapping.RecordExtensions.AsObjectFromBlueprint 1(Neo4j.Driver.IRecord, 0)), Returns T, Notes Blueprint variant — infers type from instance
RecordExtensions has an AsObjectFromBlueprint method
Holds
Read Oct 2
Method [ AsObject<TResult,T1,…>(Func<…>) ](xref:Neo4j.Driver.Mapping.DelegateMappingRecordExtensions), Returns TResult, Notes Delegate variant — 1–10 typed parameters
DelegateMappingRecordExtensions has an AsObject method
Holds
Read Oct 2
IObjectStore.Store<T>(T obj) stores an object and returns the freshly generated string id it is stored under.
IObjectStore has Store
Holds
Read Oct 2
IObjectStore.Get<T>(string id) looks an object up by id, throwing TestKitProtocolException if the id is unknown or resolves to an object of the wrong type.
IObjectStore has Get
Holds
Read Oct 2
Driver depends on Bookmark manager
Driver depends on IBookmarkManager
Holds
Read Oct 2
Query parameters, on the incoming side, and record values, summary fields, and diagnostic records, on the outgoing side, all pass through the Cypher type envelope testkit expects, defined in nutkit/protocol/cypher.py, for example {"name": "CypherInt", "data": {"value": 1}}. Each Cypher type is a record under Cypher/ implementing ICypherValue.
CypherInt implements ICypherValue
Holds
Read Oct 2
ExecuteAsync returns an EagerResult<IReadOnlyList<IRecord>> containing all records (Result), the returned column names (Keys), and a query summary (Summary).
ExecutableQuery has ExecuteAsync
Holds
Read Oct 2
ExecuteAsync returns an EagerResult<IReadOnlyList<IRecord>> containing all records (Result), the returned column names (Keys), and a query summary (Summary).
ExecutableQuery depends on EagerResult
Holds
Read Oct 2
For multi-query transactions, use ExecuteReadAsync or ExecuteWriteAsync on a session.
AsyncSession has ExecuteReadAsync
Holds
Read Oct 2
For multi-query transactions, use ExecuteReadAsync or ExecuteWriteAsync on a session.
AsyncSession has ExecuteWriteAsync
Holds
Read Oct 2
Use BeginTransactionAsync when you need to co-ordinate a transaction with external work, such as committing only after a side-effect succeeds.
AsyncSession has BeginTransactionAsync
Holds
13 rules from 4 docs

See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.