Module crossref_client

Module crossref_client 

Source
Expand description

CrossRef API Integration

This module provides an async client for fetching scholarly publications from CrossRef.org, converting responses to SemanticVector format for RuVector discovery.

§CrossRef API Details

  • Base URL: https://api.crossref.org
  • Free access, no authentication required
  • Returns JSON responses
  • Rate limit: ~50 requests/second with polite pool
  • Polite pool: Include email in User-Agent or Mailto header for better rate limits

§Example

use ruvector_data_framework::crossref_client::CrossRefClient;

let client = CrossRefClient::new(Some("your-email@example.com".to_string()));

// Search publications by keywords
let vectors = client.search_works("machine learning", 20).await?;

// Get work by DOI
let work = client.get_work("10.1038/nature12373").await?;

// Search by funder
let funded = client.search_by_funder("10.13039/100000001", 10).await?;

// Find recent publications
let recent = client.search_recent("quantum computing", "2024-01-01").await?;

Structs§

CrossRefClient
Client for CrossRef.org scholarly publication API