enterprise-data-retrieval · git:20260424.d50cf5a · 2026-04-24 · sha256 bfa6a6a7d77795b5
enterprise-data-retrieval git:20260424.d50cf5aA
Immutable. This exact content never changes and is served at /api/v1/blob/bfa6a6a7d77795b5.
---
name: enterprise-data-retrieval
description: Retrieve and aggregate information across multiple enterprise data sources
---
# Enterprise Data Retrieval
## Overview
Techniques for finding specific information across multiple enterprise data files (employee records, product files, team information) and aggregating results.
## Use Cases
- Finding team members involved in specific projects/products
- Identifying authors and reviewers of documents
- Extracting URLs and resources shared in team communications
- Cross-referencing employee IDs with their information
- Building answer sets from multiple data sources
## Directory Structure
```
/root/DATA/
├── metadata/
│ ├── employee.json # Employee records with IDs and names
│ ├── customers_data.json # Customer information
│ └── salesforce_team.json # Sales team information
└── products/
├── ContentForce.json # Product-specific data (Slack, docs, etc.)
├── SecurityForce.json # Other products...
└── ...
```
## Code Examples
### Load All Metadata
```python
import json
import os
def load_metadata():
"""Load all metadata files"""
metadata_path = '/root/DATA/metadata'
metadata = {}
for file in os.listdir(metadata_path):
if file.endswith('.json') and not file.endswith(':Zone.Identifier'):
with open(os.path.join(metadata_path, file), 'r') as f:
metadata[file.replace('.json', '')] = json.load(f)
return metadata
# Usage
metadata = load_metadata()
employees = metadata['employee']
```
### Find Product Data
```python
import json
def load_product_data(product_name):
"""Load product JSON data"""
path = f'/root/DATA/products/{product_name}.json'
with open(path, 'r') as f:
return json.load(f)
# Usage
contentforce_data = load_product_data('ContentForce')
```
### Identify Competitors and Resources
```python
import json
import re
def find_competitor_mentions(product_data):
"""Find all mentions of competitor products"""
competitors = {}
messages = product_data.get('slack', [])
for msg in messages:
text = msg.get('Message', {}).get('text', '')
# Look for competitor product mentions (heuristic: Force/Genie products)
if 'demo' in text.lower() or 'url' in text.lower():
# Extract URLs
urls = re.findall(r'https?://[^\s\)]+', text)
if urls:
user_id = msg.get('Message', {}).get('User', {}).get('userId')
competitors[user_id] = urls
return competitors
```
### Map Employee IDs to Names
```python
def get_employee_info(employee_id, employee_data):
"""Get employee info by ID"""
return employee_data.get(employee_id, {})
def get_employee_name(employee_id, employee_data):
"""Get employee name by ID"""
info = get_employee_info(employee_id, employee_data)
return info.get('name', 'Unknown')
```
## Retrieval Workflow
### Step 1: Load Data
```python
import json
# Load product data
with open('/root/DATA/products/ContentForce.json', 'r') as f:
product = json.load(f)
# Load employee reference
with open('/root/DATA/metadata/employee.json', 'r') as f:
employees = json.load(f)
```
### Step 2: Extract Information
```python
# For reports: find who authored/reviewed
# For competitors: find who mentioned them
# For URLs: extract all shared links
```
### Step 3: Deduplicate and Format
```python
# Convert to lists, deduplicate with sets
results = list(set(collected_ids))
```
### Step 4: Validate Against Employee Data
```python
# Verify IDs exist in employee database
valid_ids = [eid for eid in results if eid in employees]
```
## Key Patterns
### Pattern: Report Tracking
- Author: First person to share report link
- Key Reviewers: People providing feedback in thread replies
### Pattern: Competitor Analysis
- Look for messages about "competitor products"
- Extract product names and user IDs from these discussions
### Pattern: Resource Sharing
- Extract URLs from message text
- Associate with user IDs and product context
- Look for explicit "demo URL" mentions
## Error Handling
```python
# Safe nested access
def safe_get(obj, *keys, default=None):
"""Safely navigate nested dicts"""
for key in keys:
obj = obj.get(key) if isinstance(obj, dict) else None
if obj is None:
return default
return obj
# Usage
user_id = safe_get(msg, 'Message', 'User', 'userId')
```
## Output Format
Results should be formatted as lists for consistency:
- Single item: `["eid_xxx"]`
- Multiple items: `["eid_xxx", "eid_yyy", "eid_zzz"]`
- Empty result: `[]`