import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; import FilteredTextBlock from '@site/src/components/Documentation/FilteredTextBlock';
import PyCode from '!!raw-loader!/_includes/code/graphql.aggregate.simple.py'; import TSCode from '!!raw-loader!/_includes/code/howto/search.aggregate.ts'; import JavaV6Code from '!!raw-loader!/_includes/code/java-v6/src/test/java/SearchAggregateTest.java'; import CSharpCode from '!!raw-loader!/_includes/code/csharp/SearchAggregateTest.cs';
package main
import (
"context"
"fmt"
"github.com/weaviate/weaviate-go-client/v5/weaviate"
"github.com/weaviate/weaviate-go-client/v5/weaviate/graphql"
)
func main() {
cfg := weaviate.Config{
Host: "localhost:8080",
Scheme: "http",
}
client, err := weaviate.NewClient(cfg)
if err != nil {
panic(err)
}
meta := graphql.Field{
Name: "meta", Fields: []graphql.Field{
{Name: "count"},
},
}
wordCount := graphql.Field{
Name: "wordCount", Fields: []graphql.Field{
{Name: "mean"},
},
}
groupedBy := graphql.Field{
Name: "groupedBy", Fields: []graphql.Field{
{Name: "value"},
{Name: "path"},
},
}
result, err := client.GraphQL().Aggregate().
WithFields(meta, wordCount, groupedBy).
WithClassName("Article").
WithGroupBy("inPublication").
Do(context.Background())
if err != nil {
panic(err)
}
fmt.Printf("%v", result)
}package io.weaviate;
import io.weaviate.client.Config;
import io.weaviate.client.WeaviateClient;
import io.weaviate.client.base.Result;
import io.weaviate.client.v1.graphql.model.GraphQLResponse;
import io.weaviate.client.v1.graphql.query.fields.Field;
public class App {
public static void main(String[] args) {
Config config = new Config("http", "localhost:8080");
WeaviateClient client = new WeaviateClient(config);
Field meta = Field.builder()
.name("meta")
.fields(new Field[]{
Field.builder().name("count").build()
}).build();
Field wordCount = Field.builder()
.name("wordCount")
.fields(new Field[]{
Field.builder().name("mean").build()
}).build();
Field groupedBy = Field.builder()
.name("groupedBy")
.fields(new Field[]{
Field.builder().name("value").build(),
Field.builder().name("path").build()
}).build();
Result<GraphQLResponse> result = client.graphQL().aggregate()
.withClassName("Article")
.withFields(meta, wordCount, groupedBy)
.withGroupBy("inPublication")
.run();
if (result.hasErrors()) {
System.out.println(result.getError());
return;
}
System.out.println(result.getResult());
}
}echo '{
"query": "{
Aggregate {
Article(groupBy: [\"inPublication\"]) {
meta {
count
}
wordCount {
mean
}
groupedBy {
value
path
}
}
}
}"
}' | curl \
-X POST \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer learn-weaviate' \
-d @- \
https://edu-demo.weaviate.network/v1/graphql{
Aggregate {
Article (groupBy:["inPublication"]) {
meta {
count
}
wordCount {
mean
}
groupedBy {
value
path
}
}
}
}