Share via


Voorbeeldgegevenssets in Cosmos DB in Microsoft Fabric

De Cosmos DB-databaseworkload van Microsoft Fabric biedt ingebouwde voorbeeldgegevenssets om u te helpen verkennen, leren en experimenteren met NoSQL-databasepatronen. Deze gegevensset vertegenwoordigt een e-commercescenario met producten en klantbeoordelingen, waarmee wordt gedemonstreerd hoe verschillende entiteitstypen naast elkaar bestaan in dezelfde container.

Er zijn twee voorbeeldgegevenssets beschikbaar:

  • Standaardvoorbeeldgegevens: Kerngegevens voor e-commerce met producten en beoordelingen
  • Vectorvoorbeeldgegevens: Verbeterde versie met 1536-dimensionale vector-insluitingen die zijn gegenereerd met behulp van het model text-embedding-ada-002 van OpenAI voor semantische zoekscenario's.

Overzicht van gegevenssets

Beide voorbeeldgegevenssets bevatten dezelfde e-commercegegevens met twee documenttypen.

  • Productdocumenten (docType: "product") - Afzonderlijke producten met naam, beschrijving, voorraad, huidige prijs en een ingesloten matrix van de prijsgeschiedenis voor dat product.
  • Documenten beoordelen (docType: "review") - Recensies en beoordelingen van klanten die zijn gekoppeld aan producten via productId

De gegevensset vectorvoorbeelden is gebaseerd op de standaardset met voorbeeldgegevens. Productdocumenten in de vectorgegevensset bevatten een extra vectors eigenschap met 1536 dimensionale insluitingen voor semantische zoekmogelijkheden.

Opmerking

U vindt zowel gegevenssets als een extra gegevensset met vectoren die zijn gegenereerd met behulp van het OpenAI text-embedding-3-large model met 512 dimensies in de map Sample Datasets van de Cosmos DB in Fabric - Samples Repository

Documentschema's

Schema van productdocument

Productdocumenten bevatten gedetailleerde informatie over afzonderlijke items in de e-commercecatalogus:

Vastgoed Typologie Beschrijving
id string Unieke identificatie voor het product in GUID-indeling
docType string Documenttype-id, altijd "product"
productId string Product-id, hetzelfde als id voor productdocumenten
name string Weergavenaam van het product
description string Gedetailleerde productbeschrijving
categoryName string Productcategorie (bijvoorbeeld 'Computers, Laptops', 'Media', 'Accessoires')
inventory number Aantal items dat momenteel op voorraad is
firstAvailable string Datum waarop het product beschikbaar werd (ISO 8601-indeling)
currentPrice number Huidige verkoopprijs
priceHistory array Matrix van prijswijzigingsobjecten met date en price velden
priceHistory[].date string Datum en tijd van de prijswijziging in ISO 8601-indeling
priceHistory[].price number Prijs op de opgegeven datum
vectors array Alleen vectorvoorbeeldgegevens - 1536-dimensionale vector insluiten

Documentschema controleren

Revisiedocumenten bevatten feedback van klanten en beoordelingen voor producten:

Vastgoed Typologie Beschrijving
id string Unieke identificator voor de beoordeling in GUID-indeling
docType string Documenttype-ID, altijd "review"
productId string Verwijst naar het id product dat wordt beoordeeld
categoryName string Productcategorie (overgenomen van het beoordeeld product)
customerName string Naam van de klant die de beoordeling heeft geschreven
reviewDate string Datum waarop de beoordeling is ingediend (ISO 8601-indeling)
stars number Beoordeling gegeven door de klant (1-5 schaal)
reviewText string Geschreven beoordelingsinhoud van de klant

Opmerking

Cosmos DB genereert automatisch systeemeigenschappen (_rid, _self, _etag, _attachments, ) _tsvoor alle documenten.

Opmerking

Zie de internationale datum- en tijdstandaard voor meer informatie over de ISO 8601-indeling. Zie universeel unieke id's voor meer informatie over de GUID-indeling.

Voorbeelddocumenten

In de volgende voorbeelden ziet u de structuur van documenten in beide voorbeeldgegevenssets.

Voorbeeld van standaardproductdocument

{
  "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "docType": "product",
  "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "name": "EchoSphere Pro ANC-X900 Premium Headphones",
  "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
  "categoryName": "Accessories, Premium Headphones",
  "inventory": 772,
  "firstAvailable": "2024-01-01T00:00:00",
  "currentPrice": 454.87,
  "priceHistory": [
    {
      "date": "2024-01-01T00:00:00",
      "price": 349.0
    },
    {
      "date": "2024-08-01T00:00:00",
      "price": 363.0
    },
    {
      "date": "2025-04-01T00:00:00",
      "price": 408.14
    },
    {
      "date": "2025-08-01T00:00:00",
      "price": 454.87
    }
  ]
}

Voorbeeld van een vectorproductdocument

{
    "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "docType": "product",
    "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "name": "EchoSphere Pro ANC-X900 Premium Headphones",
    "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
    "categoryName": "Accessories, Premium Headphones",
    "inventory": 772,
    "firstAvailable": "2024-01-01T00:00:00",
    "currentPrice": 454.87,
    "priceHistory": [
      {
        "date": "2024-01-01T00:00:00",
        "price": 349.0
      },
      {
        "date": "2025-08-01T00:00:00",
        "price": 454.87
      }
    ],
    "vectors": [
      -0.02783808670938015,
      0.011827611364424229,
      -0.04711977392435074,
      // ... (1536 dimensions total)
      0.04251981899142265
    ]
}

Voorbeeld van document controleren

Controle documenten zijn identiek in beide voorbeelddatasets.

{
  "id": "fa799013-1746-4a7f-bd0f-2a95b2b76481",
  "docType": "review",
  "productId": "e847e069-d0f9-4fec-b42a-d37cd5b2f536",
  "categoryName": "Accessories, Premium Headphones",
  "customerName": "Emily Rodriguez",
  "reviewDate": "2025-03-02T00:00:00",
  "stars": 5,
  "reviewText": "Excellent sound quality! Premium build! This EchoSphere Pro ANC-X900 exceeded hopes."
}

Hoe je de voorbeeldgegevens gebruikt

Beide voorbeeldgegevenssets helpen u bij het uitvoeren van query's, filteren en aggregeren van gegevens in Cosmos DB. De typen gemengde documenten bieden realistische scenario's voor verschillende gebruiksvoorbeelden.

Standaardscenario's voor voorbeeldgegevens

  • Gerelateerde gegevens koppelen: Beoordelingen koppelen aan producten met behulp van productId
  • Categorieanalyse: Query's uitvoeren op producten en beoordelingen op categoryName
  • Beoordelingsanalyse: Feedbackpatronen en beoordelingen van klanten onderzoeken

Algemene querypatronen

Alle producten in een categorie ophalen:

SELECT *
FROM c
WHERE 
  c.docType = "product" AND 
  c.categoryName = "Computers, Laptops"

Beoordelingen voor een specifiek product ophalen:

SELECT *
FROM c
WHERE 
  c.docType = "review" AND 
  c.productId = "77be013f-4036-4311-9b5a-dab0c3d022be"

Voorbeeldscenario's voor vectorgegevens

  • Semantische overeenkomsten zoeken: producten zoeken met vergelijkbare functies met behulp van vector-insluitingen
  • Aanbevelingen op basis van inhoud: Productsuggesties genereren op basis van beschrijvingsgelijkenis
  • Hybride query's: Traditionele filters combineren met vector-overeenkomsten voor verbeterde resultaten

JSON-schemas

In de volgende JSON-schema's wordt de structuur van documenten in beide voorbeeldgegevenssets beschreven. Gebruik deze schema's om vergelijkbare gegevens te valideren of te genereren voor uw eigen Cosmos DB-workloads.

Standaarddocumentschema van product

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory"
  ]
}

Schema voor productdocument met vectorfuncties

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    },
    "vectors": {
      "type": "array",
      "items": { "type": "number" },
      "minItems": 1536,
      "maxItems": 1536
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory", "vectors"
  ]
}

Documentschema controleren

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string", "const": "review" },
    "productId": { "type": "string" },
    "categoryName": { "type": "string" },
    "customerName": { "type": "string" },
    "reviewDate": { "type": "string" },
    "stars": { "type": "number" },
    "reviewText": { "type": "string" }
  },
  "required": [
    "id", "docType", "productId", "categoryName", "customerName", 
    "reviewDate", "stars"
  ]
}