How to look for answers by evaluating multiple properties of a class

Scenario : I have class A with some properties and class B inside class A with some properties and Class C inside class B with some properties. I want to evaluate properties in class A , B and C to get an answer by using ConversationalRetrievalChain of langchain. However, when we create a weaviate client we can only specify one class name and one property. As far as I understand, the property mentioned is only evaluated and answer is given from that property itself.

Is there a way to evaluate all properties of these 3 classes and come to a conclusion by evaluating all of them? What configuration changes are needed for multiple property evaluation?

1 Like

Hi @Sriparna - unfortuantely I’m not super familiar with LangChain.

In Weaviate, each “class” is a vector space, and each class object will have one vector. So, that plus your desired behaviour will determine your architecture around how to construct your class.

Sorry it’s hard to be more specific without understanding the LangChain method/class that you speak of.

@Sriparna I’m not 100% sure, but if you’re not using WCS, it might be possible to use the Explore function in the Weaviate GraphQL API to perform a nearText search for objects across multiple classes. Although, It might require using an API retrieval LangChain integration rather than the Weaviate-specific one…

There’s still only one vector for each class though (multiple properties can be configured to be included in that vector), but it would allow you to search multiple classes at least.

Did we ever find a better response here? I’m using WCS and currently putting all of my data in a single class. How can I search across all properties in that class?

@Sriparna did you ever get an answer here? I’m having the same issue.