Skip to content

Commit

Permalink
feat: rename propertyName to embeddingProperty
Browse files Browse the repository at this point in the history
  • Loading branch information
mjfwebb committed Jul 9, 2024
1 parent 5816b50 commit 7360dbf
Show file tree
Hide file tree
Showing 14 changed files with 33 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -110,10 +110,10 @@ function checkVectorIndexes(entity: ConcreteEntity, existingIndexes: ExistingInd
return;
}

const propertyIsInIndex = existingIndex.properties.some((p) => p === index.propertyName);
const propertyIsInIndex = existingIndex.properties.some((p) => p === index.embeddingProperty);
if (!propertyIsInIndex) {
indexErrors.push(
`@vector index '${index.indexName}' on Node '${entity.name}' is missing property '${index.propertyName}'`
`@vector index '${index.indexName}' on Node '${entity.name}' is missing embedding property '${index.embeddingProperty}'`
);
}

Expand Down
2 changes: 1 addition & 1 deletion packages/graphql/src/graphql/directives/vector.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export const vectorDirective = new GraphQLDirective({
indexName: {
type: new GraphQLNonNull(GraphQLString),
},
propertyName: {
embeddingProperty: {
type: new GraphQLNonNull(GraphQLString),
},
queryName: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ import type { Annotation } from "./Annotation";

export type VectorField = {
indexName: string;
propertyName: string;
embeddingProperty: string;
queryName: string;
provider?: string;
callback?: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ describe("parseVectorAnnotation", () => {
},
{
kind: Kind.OBJECT_FIELD,
name: { kind: Kind.NAME, value: "propertyName" },
name: { kind: Kind.NAME, value: "embeddingProperty" },
value: { kind: Kind.STRING, value: "name" },
},
{
Expand All @@ -68,7 +68,7 @@ describe("parseVectorAnnotation", () => {
indexes: [
{
indexName: "ProductName",
propertyName: "name",
embeddingProperty: "name",
queryName: "myQueryName",
provider: "OpenAI",
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ describe("@vector directive - Auth", () => {
}

const typeDefs = /* GraphQL */ `
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(filter: [{ where: { node: { name: "$jwt.name" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -221,7 +221,7 @@ describe("@vector directive - Auth", () => {
}

const typeDefs = /* GraphQL */ `
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(filter: [{ where: { node: { name: "$jwt.name" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -298,7 +298,7 @@ describe("@vector directive - Auth", () => {
roles: [String!]!
}
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(validate: [{ where: { jwt: { roles_INCLUDES: "admin" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -394,7 +394,7 @@ describe("@vector directive - Auth", () => {
roles: [String!]!
}
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(validate: [{ where: { jwt: { roles_INCLUDES: "admin" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -461,7 +461,7 @@ describe("@vector directive - Auth", () => {
}

const typeDefs = /* GraphQL */ `
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(validate: [{ when: BEFORE, where: { node: { name: "$jwt.name" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -541,7 +541,7 @@ describe("@vector directive - Auth", () => {
}

const typeDefs = /* GraphQL */ `
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(validate: [{ when: BEFORE, where: { node: { name: "$jwt.name" } } }]) {
name: String!
born: Int!
Expand Down Expand Up @@ -612,7 +612,7 @@ describe("@vector directive - Auth", () => {
roles: [String!]!
}
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", propertyName: "embedding", queryName: "${queryName}" }])
type ${Person} @vector(indexes: [{ indexName: "${Person}Index", embeddingProperty: "embedding", queryName: "${queryName}" }])
@authorization(validate: [{ operations: [READ], where: { jwt: { roles_INCLUDES: "admin" } } }]) {
name: String!
born: Int!
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ describe("@vector directive - filtering", () => {
Movie = testHelper.createUniqueType("Movie");

const typeDefs = `
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", propertyName: "embedding", queryName: "${queryName}" }]) {
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", embeddingProperty: "embedding", queryName: "${queryName}" }]) {
title: String!
released: Int!
}`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ describe("@vector directive - pagination", () => {
Movie = testHelper.createUniqueType("Movie");

const typeDefs = `
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", propertyName: "embedding", queryName: "${queryName}" }]) {
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", embeddingProperty: "embedding", queryName: "${queryName}" }]) {
title: String!
released: Int!
}`;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ describe("@vector directive - Query", () => {
Person = testHelper.createUniqueType("Person");

const typeDefs = /* GraphQL */ `
type ${Movie} @vector(indexes: [{ indexName: "${Movie}Index", propertyName: "embedding", queryName: "${queryName}" }]) {
type ${Movie} @vector(indexes: [{ indexName: "${Movie}Index", embeddingProperty: "embedding", queryName: "${queryName}" }]) {
title: String!
released: Int!
actors: [${Person}!]! @relationship(type: "ACTED_IN", direction: IN)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ describe("@vector directive - Query", () => {
Movie = testHelper.createUniqueType("Movie");

const typeDefs = `
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", propertyName: "embedding", queryName: "${queryName}" }]) {
type ${Movie.name} @vector(indexes: [{ indexName: "${Movie}Index", embeddingProperty: "embedding", queryName: "${queryName}" }]) {
title: String!
released: Int!
}`;
Expand Down
8 changes: 6 additions & 2 deletions packages/graphql/tests/schema/vector.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,12 @@ describe("@vector schema", () => {
type Movie
@vector(
indexes: [
{ indexName: "MovieTitle", propertyName: "title", queryName: "titleQuery" }
{ indexName: "MovieDescription", propertyName: "description", queryName: "descriptionQuery" }
{ indexName: "MovieTitle", embeddingProperty: "title", queryName: "titleQuery" }
{
indexName: "MovieDescription"
embeddingProperty: "description"
queryName: "descriptionQuery"
}
]
) {
title: String
Expand Down
14 changes: 7 additions & 7 deletions packages/graphql/tests/tck/directives/vector/auth.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth where", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(filter: [{ where: { node: { director: { id: "$jwt.sub" } } } }]) {
title: String
director: [Person!]! @relationship(type: "DIRECTED", direction: IN)
Expand Down Expand Up @@ -246,7 +246,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(validate: [{ when: [BEFORE], where: { node: { director: { id: "$jwt.sub" } } } }]) {
title: String
director: [Person!]! @relationship(type: "DIRECTED", direction: IN)
Expand Down Expand Up @@ -446,7 +446,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow ALL", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(
validate: [{ when: [BEFORE], where: { node: { director_ALL: { id: "$jwt.sub" } } } }]
) {
Expand Down Expand Up @@ -651,7 +651,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow on connection node", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(
validate: [
{ when: [BEFORE], where: { node: { directorConnection: { node: { id: "$jwt.sub" } } } } }
Expand Down Expand Up @@ -855,7 +855,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow on connection node ALL", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(
validate: [
{
Expand Down Expand Up @@ -1065,7 +1065,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow on connection edge", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(
validate: [
{ when: [BEFORE], where: { node: { directorConnection: { edge: { year: 2020 } } } } }
Expand Down Expand Up @@ -1270,7 +1270,7 @@ describe("Cypher -> vector -> Auth", () => {
test("simple match with auth allow on connection edge ALL", async () => {
const typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }])
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }])
@authorization(
validate: [
{ when: [BEFORE], where: { node: { directorConnection_ALL: { edge: { year: 2020 } } } } }
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql/tests/tck/directives/vector/match.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe("Vector index match", () => {

beforeAll(() => {
typeDefs = /* GraphQL */ `
type Movie @vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }]) {
type Movie @vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }]) {
title: String!
released: Int!
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe("phrase input - genAI plugin", () => {
beforeAll(() => {
typeDefs = /* GraphQL */ `
type Movie
@vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}", provider: OpenAI }]) {
@vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}", provider: OpenAI }]) {
title: String!
released: Int!
}
Expand Down
2 changes: 1 addition & 1 deletion packages/graphql/tests/tck/directives/vector/score.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ describe("Cypher -> vector -> Score", () => {

beforeAll(() => {
typeDefs = /* GraphQL */ `
type Movie @vector(indexes: [{ indexName: "movie_index", propertyName: "movieVector", queryName: "${queryName}" }]) {
type Movie @vector(indexes: [{ indexName: "movie_index", embeddingProperty: "movieVector", queryName: "${queryName}" }]) {
title: String!
}
`;
Expand Down

0 comments on commit 7360dbf

Please sign in to comment.