ProductPromotion
Logo

Elixir

made by https://0x3d.site

GitHub - noizu-labs-ml/elixir-weaviate: Weaviate Rest Wrapper for Elixir
Weaviate Rest Wrapper for Elixir. Contribute to noizu-labs-ml/elixir-weaviate development by creating an account on GitHub.
Visit Site

GitHub - noizu-labs-ml/elixir-weaviate: Weaviate Rest Wrapper for Elixir

GitHub - noizu-labs-ml/elixir-weaviate: Weaviate Rest Wrapper for Elixir

Noizu.Weaviate - README

Noizu.Weaviate is a library providing a simple wrapper around Weaviate's API calls. With Noizu.Weaviate, you can easily interact with Weaviate's schema and objects.

Table of Contents

Installation

You can install Noizu.Weaviate by adding it as a dependency in your mix.exs file:

def deps do
  [
    {:noizu_weaviate, "~> 0.1.0"}
  ]
end

Then, run mix deps.get to fetch the dependency.

Configuration

To configure Noizu.Weaviate, you need to set the Weaviate API key in your application's configuration. Update your config/config.exs file with the following configuration:

config :noizu_weaviate,
  weaviate_api_key: "your_api_key_here"

Usage

Noizu.Weaviate provides an easy-to-use API for working with Weaviate schema and objects.

Defining Schema Classes

To define a schema class, you can use the Noizu.Weaviate.Class module and the weaviate_class macro. Here's an example:

defmodule Product do
  use Noizu.Weaviate.Class
  weaviate_class("Product") do
      description "A class for representing products in Weaviate"
    
      property :name, :string
      property :price, :number
      property :description, :text
  end
end

Creating Objects

You can create objects using the Noizu.Weaviate.Api.Objects.create function. Here's an example:

object = %Product{name: "iPhone 12", price: 999.99, description: "The latest iPhone model"}
{:ok, response} = Noizu.Weaviate.Api.Objects.create(object)

Editing Objects

You can edit objects using the Noizu.Weaviate.Api.Objects.update function. Here's an example:

object = %Product{id: "object_id", name: "New iPhone 12", price: 1099.99, description: "The new iPhone model"}
{:ok, response} = Noizu.Weaviate.Api.Objects.update(object)

Deleting Objects

You can delete objects using the Noizu.Weaviate.Api.Objects.delete function. Here's an example:

{:ok, response} = Noizu.Weaviate.Api.Objects.delete("class_name", "object_id")

API Modules

Noizu.Weaviate provides several API modules for working with Weaviate. Here's an overview of the available modules and their functionalities:

Noizu.Weaviate.Api.Meta

This module provides functions for getting meta information about the Weaviate instance. You can get information about the Weaviate version, host, and more.

See Noizu.Weaviate.Api.Meta README for more details.

Noizu.Weaviate.Api.Batch

This module provides functions for batch operations in Weaviate. You can batch create objects and references, as well as batch delete objects.

See Noizu.Weaviate.Api.Batch README for more details.

Noizu.Weaviate.Api.Backups

This module provides functions for working with backups in Weaviate. You can create backups, get backup status, restore backups, and get restore status.

See Noizu.Weaviate.Api.Backups README for more details.

Noizu.Weaviate.Api.Schema

This module provides functions for working with the Weaviate schema. You can create, get, update, and delete classes, properties, shards, and tenants.

See Noizu.Weaviate.Api.Schema README for more details.

Noizu.Weaviate.Api.Nodes

This module provides functions for getting information about the Weaviate nodes. You can get information about the connected nodes in the Weaviate cluster.

See Noizu.Weaviate.Api.Nodes README for more details.

Noizu.Weaviate.Api.Objects

This module provides functions for interacting with data objects in Weaviate. You can create, get, update, patch, delete, and validate objects.

See Noizu.Weaviate.Api.Objects README for more details.

Noizu.Weaviate.Api.Auth

This module provides functions for authentication in the Weaviate API. You can get the OpenID configuration, check the liveness of the Weaviate instance, and check the readiness of the Weaviate instance.

See Noizu.Weaviate.Api.Auth README for more details.

Noizu.Weaviate.Api.Classification

This module provides functions for classification operations in Weaviate. You can start a classification, get the status of a classification, and cancel a classification.

See Noizu.Weaviate.Api.Classification README for more details.

For more detailed documentation on all available functions and options, please refer to the individual module readmes provided above.

Articles
to learn more about the elixir concepts.

Resources
which are currently available to browse on.

mail [email protected] to add your project or resources here 🔥.

FAQ's
to know more about the topic.

mail [email protected] to add your project or resources here 🔥.

Queries
or most google FAQ's about Elixir.

mail [email protected] to add more queries here 🔍.

More Sites
to check out once you're finished browsing here.

0x3d
https://www.0x3d.site/
0x3d is designed for aggregating information.
NodeJS
https://nodejs.0x3d.site/
NodeJS Online Directory
Cross Platform
https://cross-platform.0x3d.site/
Cross Platform Online Directory
Open Source
https://open-source.0x3d.site/
Open Source Online Directory
Analytics
https://analytics.0x3d.site/
Analytics Online Directory
JavaScript
https://javascript.0x3d.site/
JavaScript Online Directory
GoLang
https://golang.0x3d.site/
GoLang Online Directory
Python
https://python.0x3d.site/
Python Online Directory
Swift
https://swift.0x3d.site/
Swift Online Directory
Rust
https://rust.0x3d.site/
Rust Online Directory
Scala
https://scala.0x3d.site/
Scala Online Directory
Ruby
https://ruby.0x3d.site/
Ruby Online Directory
Clojure
https://clojure.0x3d.site/
Clojure Online Directory
Elixir
https://elixir.0x3d.site/
Elixir Online Directory
Elm
https://elm.0x3d.site/
Elm Online Directory
Lua
https://lua.0x3d.site/
Lua Online Directory
C Programming
https://c-programming.0x3d.site/
C Programming Online Directory
C++ Programming
https://cpp-programming.0x3d.site/
C++ Programming Online Directory
R Programming
https://r-programming.0x3d.site/
R Programming Online Directory
Perl
https://perl.0x3d.site/
Perl Online Directory
Java
https://java.0x3d.site/
Java Online Directory
Kotlin
https://kotlin.0x3d.site/
Kotlin Online Directory
PHP
https://php.0x3d.site/
PHP Online Directory
React JS
https://react.0x3d.site/
React JS Online Directory
Angular
https://angular.0x3d.site/
Angular JS Online Directory