Summary
Node properties are emitted in PascalCase (Identifier, KeyType, Modulus, BitLength, …) instead of the lowercase convention the BloodHound OpenGraph schema specifies, so Cypher queries and the UI must reference non-standard, case-sensitive keys.
Location
- File(s):
parse.go
- Line(s) / function(s):
ParseResults() — every SetProperty/GetProperty call except the already-lowercase name/displayname
Note
This is a convention/interop conformance change rather than a runtime defect — the collector functions with PascalCase keys, but property names are case-sensitive in BloodHound and the schema specifies lowercase. Filed at the maintainer's explicit request.
Category
api-contract
Current Behavior
Properties are set with PascalCase keys: Identifier, Version, Source, Usage, CreationTime, KeyHash, KeyType, CbKey, Count, Q, Seed, Modulus, PrivateExponent, Public, Generator, BitLength, CbModulus, CbPrime1, CbPrime2, CbPublicExp, Prime1, Prime2, PublicExponent, KeySize, D, X, Y.
Desired Behavior
Property names follow the lowercase (snake_case for multi-word) OpenGraph convention, consistent with the already-correct reserved name/displayname properties.
Summary
Node properties are emitted in PascalCase (
Identifier,KeyType,Modulus,BitLength, …) instead of the lowercase convention the BloodHound OpenGraph schema specifies, so Cypher queries and the UI must reference non-standard, case-sensitive keys.Location
parse.goParseResults()— everySetProperty/GetPropertycall except the already-lowercasename/displaynameNote
This is a convention/interop conformance change rather than a runtime defect — the collector functions with PascalCase keys, but property names are case-sensitive in BloodHound and the schema specifies lowercase. Filed at the maintainer's explicit request.
Category
api-contractCurrent Behavior
Properties are set with PascalCase keys:
Identifier,Version,Source,Usage,CreationTime,KeyHash,KeyType,CbKey,Count,Q,Seed,Modulus,PrivateExponent,Public,Generator,BitLength,CbModulus,CbPrime1,CbPrime2,CbPublicExp,Prime1,Prime2,PublicExponent,KeySize,D,X,Y.Desired Behavior
Property names follow the lowercase (snake_case for multi-word) OpenGraph convention, consistent with the already-correct reserved
name/displaynameproperties.