You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We need to create a dedicated Person Agent that can manage LinkedIn profiles and query contacts through the triplestore, replacing the current AIA implementation. This agent should integrate with our existing Person ontology and handle profile data management efficiently.
Current State
Using legacy AIA notebook-based implementation and storage is on the workspace S3 /aia of a Naas Workspace
No dedicated agent for person/contact management
LinkedIn profile data not properly integrated with Person ontology
No standardized way to query contacts
Example Interactions
Store by URL
User: "Store profile: https://linkedin.com/in/jeremyravenel"
Agent: "Processing profile for Jeremy Ravenel..."
Store by Name
User: "Store profile for: Jeremy Ravenel"
Agent: "Found profile at linkedin.com/in/jeremyravenel. Processing..."
Create Contact
User: "Create AIA for Jeremy in workspace dev-1234"
Agent: "Creating AIA... AIA ID: aia-5678"
Requirements
1. Person Agent Implementation
Create PersonAgent class that can:
Accept LinkedIn URL as input
Store profile data in triplestore
Query contacts based on various criteria
Handle rate-limited LinkedIn API calls (1/minute)
Update existing profiles
Map LinkedIn data to Person ontology
2. Data Model Integration
Leverage existing ontology classes:
cco:ont00001262 (Person)
abi:ActOfPostingonLinkedIn
abi:ProfessionalSkills
abi:hasPlatformUser -> we need to consider remaning to UserProfile (not everything is platform)
abi:hasContact
abi:hasEmailAddress
3. API Endpoints
# Core endpoints needed:POST/person/linkedin# Store LinkedIn profileGET/person/contacts# Query contactsPUT/person/linkedin/{id} # Update profileGET/person/linkedin/{id} # Get profile
Technical Specifications
Rate Limiting
Implement 1 request/minute limit for LinkedIn API
Queue system for batch processing
Track last update timestamps
Data Storage
JSON storage in storage/person
RDF triples in triplestore
Maintain relationships between entities
Query Capabilities
Filter by skills
Filter by location
Filter by company
Filter by connection degree
Full-text search
Temporal queries
Implementation Steps
Create PersonAgent class
Implement LinkedIn profile storage
Add contact querying functionality
Add rate limiting
Create API endpoints
Add tests
Update documentation
Dependencies
PersonOntology.ttl
LinkedInOntology.ttl
LinkedIn API integration
Triplestore access
Validation Rules
LinkedIn URL format validation
Rate limiting compliance
Required profile fields validation
Data consistency checks
Ontology compliance validation
Questions to Address
How to handle private profiles?
What is the profile update frequency?
How to handle connection degree changes?
What is the contact scoring mechanism?
Acceptance Criteria
Agent can store LinkedIn profiles with rate limiting
The text was updated successfully, but these errors were encountered:
jravenel
changed the title
Implement Contact Agent for LinkedIn Profile Management and Contact Querying
Implement Person/Contact Agent for LinkedIn Profile Management and Contact Querying
Feb 11, 2025
Context
We need to create a dedicated Person Agent that can manage LinkedIn profiles and query contacts through the triplestore, replacing the current AIA implementation. This agent should integrate with our existing Person ontology and handle profile data management efficiently.
Current State
Example Interactions
Store by URL
Store by Name
Create Contact
Requirements
1. Person Agent Implementation
PersonAgent
class that can:2. Data Model Integration
cco:ont00001262
(Person)abi:ActOfPostingonLinkedIn
abi:ProfessionalSkills
abi:hasPlatformUser
-> we need to consider remaning to UserProfile (not everything is platform)abi:hasContact
abi:hasEmailAddress
3. API Endpoints
Technical Specifications
Rate Limiting
Data Storage
Query Capabilities
Implementation Steps
Dependencies
Validation Rules
Questions to Address
Acceptance Criteria
Related Files
The text was updated successfully, but these errors were encountered: