Skip to main content

Module models

Module models 

Source
Expand description

Core data models for research papers and search operations.

This module provides the primary data structures used throughout the library:

§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§

BatchDownloadRequest
Batch download request containing multiple individual download requests
BatchDownloadResult
Result of a batch download operation
CitationRequest
Request for getting citations/references
DownloadRequest
Request for downloading a paper
DownloadResult
Result of a download operation
Paper
A research paper from any academic source
PaperBuilder
Builder for constructing Paper objects
ReadRequest
Request for reading/parsing a paper
ReadResult
Result of a paper read operation
SearchQuery
Search query parameters
SearchResponse
Search response containing papers and metadata

Enums§

SortBy
Sort field for search results
SortOrder
Sort order for search results
SourceType
The source/repository where the paper was found