Expand description
Core data models for research papers and search operations.
This module provides the primary data structures used throughout the library:
Paper: A unified representation of a research paper from any sourcePaperBuilder: Fluent builder for constructing Paper objectsSearchQuery: Search parameters with builder-style APISearchResponse: Search results with metadataDownloadRequest/DownloadResult: Paper download operationsReadRequest/ReadResult: PDF text extraction operationsCitationRequest: Citation and reference lookupSourceType: Enum of all supported research sources
§Examples
use research_master::models::{Paper, PaperBuilder, SourceType, SearchQuery};
// Create a paper using the builder
let paper = PaperBuilder::new(
"2301.12345",
"My Paper Title",
"https://example.com/paper",
SourceType::Arxiv
)
.authors("Jane Doe; John Smith")
.abstract_text("This is the abstract.")
.doi("10.1234/example.1234")
.build();
// Create a search query
let query = SearchQuery::new("machine learning")
.max_results(20)
.year("2020-");Structs§
- Batch
Download Request - Batch download request containing multiple individual download requests
- Batch
Download Result - Result of a batch download operation
- Citation
Request - Request for getting citations/references
- Download
Request - Request for downloading a paper
- Download
Result - Result of a download operation
- Paper
- A research paper from any academic source
- Paper
Builder - Builder for constructing Paper objects
- Read
Request - Request for reading/parsing a paper
- Read
Result - Result of a paper read operation
- Search
Query - Search query parameters
- Search
Response - Search response containing papers and metadata
Enums§
- SortBy
- Sort field for search results
- Sort
Order - Sort order for search results
- Source
Type - The source/repository where the paper was found