The Microsoft Azure AI solution offers an array of tools and features to manage knowledge store projections efficiently. These tools are vital in shaping and storing data in your preferred format- file, object, or table. This swiftly navigable and organized data collection significantly boosts your AI search and cognitive search activities. We’ll investigate how to manage these projections.
File Projections
In Azure Cognitive Search, file projections materialize content from a search index into files in a knowledge store. It removes the necessity of maintaining separate storage and pipelines for AI-generated content and search content.
To utilize file projections, the Skillset would look something like the following:
{
“skills”: [
{
“@odata.type”: “#Microsoft.Skills.Text.SplitSkill”,
“context”: “/document/merged_content”,
“defaultLanguageCode”: “en”,
“textSplitMode”: “pages”,
“maximumPageLength”: 4000,
“inputs”: [
{
“name”: “text”,
“source”: “/document/merged_content”
}
],
“outputs”: [
{
“name”: “textItems”,
“targetName”: “pages”
}
]
}
],
“knowledgeStore”: {
“storageConnectionString”: “
“projections”: [
{
“tables”: [],
“objects”: [],
“files”: [
{
“storageContainer”: “pages-container”,
“referenceKeyName”: “metadata_storage_path”,
“generatedKeyName”: “pageKey”,
“source”: “/document/pages”,
“sourceContext”: null,
“inputs”: [
{
“name”: “page”,
“source”: “/document/pages”
}
]
}
]
}
]
}
}
Through this method, you have been able to implement file projections in your AI solution.
Object Projections
Object projections in Azure Cognitive Search represent an amalgamation of structured data from a complex type in an Azure Search document into a knowledge store. This feature is highly desirable in scenarios wherein you require your data entities to be in a structured JSON format.
Implementing object projections in your Skillset could look like this –
{
“skills”: [
// Your other skills…
],
“knowledgeStore”: {
“storageConnectionString”: “
“projections”: [
{
“tables”: [],
“objects”: [
{
“storageContainer”: “objects-container”,
“referenceKeyName”: “metadata_storage_path”,
“generatedKeyName”: “objectKey”,
“source”: “/document/objects”,
“sourceContext”: null,
“inputs”: [
{
“name”: “object”,
“source”: “/document/objects”
}
]
}
],
“files”: []
}
]
}
}
In the code above, a separate Azure Blob Storage container named “objects-container” is assigned to store the object projections.
Table Projections
Table projections enable Azure Cognitive Search to present data as a set of tables in a knowledge store. This format allows straightforward consumption by machine learning and analytical applications.
A basic example of defining table projections:
{
“skills”: [],
“knowledgeStore”: {
“storageConnectionString”: “
“projections”: [
{
“tables”: [
{
“tableName”: “entities”,
“referenceKeyName”: “metadata_storage_path”,
“generatedKeyName”: “entityKey”,
“source”: “/document/entities”,
“sourceContext”: null,
“inputs”: [
{
“name”: “entity”,
“source”: “/document/entities”
}
]
}
],
“objects”: [],
“files”: []
}
]
}
}
You can project the entities into a table in the Knowledge Store named entities. Each row in the table corresponds to an entity in the document, with the columns representing the properties of the entity.
In conclusion, Microsoft Azure AI offers flexible and efficient ways of managing data through Knowledge Store projections implementation with file, object, and table structures. Having these strategies lined up will go a long way in helping you to stay organized and keep your data easily accessible.
Practice Test
Knowledge store automatically updates the projection contents after knowledge extraction operation. True/False?
- A) True
- B) False
Answer: A) True.
Explanation: Knowledge store projections are automatically updated after every successful knowledge extraction operation.
Knowledge store supports file projections but does not support table projections. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: Knowledge store supports file projections, table projections, and object projections.
You can use Azure Synapse Analytics to query table projections created on knowledge store. True/False?
- A) True
- B) False
Answer: A) True.
Explanation: Azure Synapse Analytics can be used to query table projections from knowledge store using SQL.
Which of the following services can be used to query file projections from knowledge store?
- A) Azure Machine Learning
- B) Azure Functions
- C) Azure DevOps
- D) Azure Synapse Analytics
Answer: B) Azure Functions.
Explanation: Azure Functions can be used to query file projections from knowledge store.
Knowledge store projections are not able to capture hierarchical relationship found in unstructured data. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: Knowledge store projections (table projections) can capture hierarchical relationships found in unstructured data.
What are the different types of projections supported by the knowledge store?
- A) File projections
- B) Object projections
- C) Table projections
- D) Database projections
Answer: A) File projections, B) Object Projections, C) Table projections.
Explanation: Knowledge store supports file projections, object projections, and table projections not database projections.
Knowledge Store is integrated with which of the following Azure services for data analysis and transformation?
- A) Azure Synapse Analytics
- B) Power BI
- C) Both A & B
- D) None of the above
Answer: C) Both A & B
Explanation: Azure Synapse Analytics and Power BI are integrated with Knowledge store for data analysis and transformation.
Only one projection type can be assigned to a single document. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: Multiple projection types can be assigned to a single document for varying coverage of information.
Object projections can map data to C#. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: JSON is used to map data in object projections, not C#.
File projections can be queried using REST APIs. True/False?
- A) True
- B) False
Answer: A) True.
Explanation: File projections from knowledge store can be accessed using REST APIs.
In knowledge store, changes to the structure of data can be made without requiring a full re-ingestion of the data. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: In knowledge store, changes to the structure of data currently necessitate a full re-ingestion of the data.
Table projections in knowledge store can only capture flat structures in extracted data. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: Table projections can handle hierarchical relationships or nested elements found in unstructured data.
Knowledge Store projections do not support multilingual data. True/False?
- A) True
- B) False
Answer: B) False.
Explanation: Knowledge store projections do support multilingual data in extracted entities.
Which of the following services can be used to build visual analytical reports using table projections from knowledge store?
- A) Power BI
- B) Azure Machine Learning
- C) Azure Functions
- D) Azure Storage Explorer
Answer: A) Power BI
Explanation: Power BI can be used to build visual perspectives of the structured data in the table projections.
Knowledge store can create projections from both structured and unstructured data. True/False?
- A) True
- B) False
Answer: A) True.
Explanation: Knowledge store creates projections from the structured and semi-structured data extracted from unstructured data sources.
Interview Questions
What is a knowledge store in Azure?
A knowledge store in Azure is a component of Azure Cognitive Search that enables persisting, viewing, and analyzing of enriched content generated by the AI Enrichment pipeline.
What are the categories of projections in a knowledge store?
The categories of projections in a knowledge store are file, object, and table projections.
What is a file projection in Azure Knowledge Store?
A file projection in Azure Knowledge Store is a way of plotting enriched documents and nested structures in a file layout. It formats the enriched documents as JSON, which can be examined using file system semantics.
How is an object projection in a Knowledge Store used?
An object projection creates a standalone structure with deduplicated, flattened JSON payloads from a path sequence in an enriched document. It can be used to persist and explore individual key-value pairs as single entities.
What is the role of table projections in Azure Knowledge Store?
Table projections in Azure Knowledge Store make it possible to flatten and normalize hierarchical structures into table formats. They make it simpler to work with the enriched content because the data is tabular and can be explored using SQL syntax.
Can you edit a projection once it is created?
No, you cannot edit a projection once it is created. If needed, you have to delete the existing projection and create a new one.
How can you manage the storage cost of Azure Knowledge Store?
You can manage the storage cost of Azure Knowledge Store by continuously monitoring the operation logs, the size of the knowledge store, and by deleting unnecessary or outdated projections.
What is the Azure tool that helps in exploring table projections for Azure Knowledge Store?
Azure Data Explorer is the tool used in exploring table projections for Azure Knowledge Store. It allows you to run Kusto query language (KQL) statements on your stored data.
How does Azure Cognitive Search relate to the knowledge store?
Azure Cognitive Search relates to the knowledge store by acting as the provider service. It extracts and enriches raw content during indexing, which is then projected or stored in the knowledge store.
How can you delete a knowledge store in Azure?
You can delete a knowledge store in Azure by removing the skillset that contains the knowledgeStore object, which in turn deletes all the projections in the knowledge store.
What permissions are required to manage knowledge store projections in Azure?
Write and delete permissions to a blob container in an Azure storage account are required to manage knowledge store projections in Azure.
What is the naming rule for knowledge store projections in Azure?
There is no specific naming rule for knowledge store projections in Azure. You can use any legal string, but the name must uniquely identify the projection within the skillset.
What types of data can be stored in a knowledge store?
A knowledge store can store structured data like tables and semi-structured data like JSON documents, and media like images and unstructured text.
Can different types of projections coexist in the same knowledge store?
Yes, file, object, and table projections can coexist in the same knowledge store. They are just different ways of representing and working with the same underlying enriched documents.
How are knowledge store projections usually created?
Knowledge store projections are created by defining them within a Cognitive Search skillset. The projections are then generated as the skillset processes and enriches your data.