package jsonfeed

  1. Overview
  2. Docs

Module Jsonfeed.CitoSource

Citation Typing Ontology (CiTO) intent annotations.

CiTO provides a structured vocabulary for describing the nature of citations. This module implements support for CiTO annotations as used in the references extension.

Sourcetype t = [
  1. | `Cites
    (*

    The base citation property

    *)
  2. | `CitesAsAuthority
    (*

    Cites as authoritative source

    *)
  3. | `CitesAsDataSource
    (*

    Cites as origin of data

    *)
  4. | `CitesAsEvidence
    (*

    Cites for factual evidence

    *)
  5. | `CitesForInformation
    (*

    Cites as information source

    *)
  6. | `UsesDataFrom
    (*

    Uses data from cited work

    *)
  7. | `UsesMethodIn
    (*

    Uses methodology from cited work

    *)
  8. | `UsesConclusionsFrom
    (*

    Applies conclusions from cited work

    *)
  9. | `AgreesWith
    (*

    Concurs with cited statements

    *)
  10. | `DisagreesWith
    (*

    Rejects cited statements

    *)
  11. | `Confirms
    (*

    Validates facts in cited work

    *)
  12. | `Refutes
    (*

    Disproves cited statements

    *)
  13. | `Disputes
    (*

    Contests without definitive refutation

    *)
  14. | `Critiques
    (*

    Analyzes and finds fault

    *)
  15. | `Qualifies
    (*

    Places conditions on statements

    *)
  16. | `Corrects
    (*

    Fixes errors in cited work

    *)
  17. | `Updates
    (*

    Advances understanding beyond cited work

    *)
  18. | `Extends
    (*

    Builds upon cited facts

    *)
  19. | `Parodies
    (*

    Imitates for comic effect

    *)
  20. | `Plagiarizes
    (*

    Uses without acknowledgment

    *)
  21. | `Derides
    (*

    Expresses contempt

    *)
  22. | `Ridicules
    (*

    Mocks cited work

    *)
  23. | `Describes
    (*

    Characterizes cited entity

    *)
  24. | `Documents
    (*

    Records information about source

    *)
  25. | `CitesAsSourceDocument
    (*

    Cites as foundational source

    *)
  26. | `CitesAsMetadataDocument
    (*

    Cites containing metadata

    *)
  27. | `Compiles
    (*

    Uses to create new work

    *)
  28. | `Reviews
    (*

    Examines cited statements

    *)
  29. | `Retracts
    (*

    Formally withdraws

    *)
  30. | `Supports
    (*

    Provides intellectual backing

    *)
  31. | `GivesSupportTo
    (*

    Provides support to citing entity

    *)
  32. | `ObtainsSupportFrom
    (*

    Obtains backing from cited work

    *)
  33. | `GivesBackgroundTo
    (*

    Provides context

    *)
  34. | `ObtainsBackgroundFrom
    (*

    Obtains context from cited work

    *)
  35. | `SpeculatesOn
    (*

    Theorizes without firm evidence

    *)
  36. | `CitesAsPotentialSolution
    (*

    Offers possible resolution

    *)
  37. | `CitesAsRecommendedReading
    (*

    Suggests as further reading

    *)
  38. | `CitesAsRelated
    (*

    Identifies as thematically connected

    *)
  39. | `IncludesQuotationFrom
    (*

    Incorporates direct quotes

    *)
  40. | `IncludesExcerptFrom
    (*

    Uses non-quoted passages

    *)
  41. | `RepliesTo
    (*

    Responds to cited statements

    *)
  42. | `HasReplyFrom
    (*

    Evokes response

    *)
  43. | `LinksTo
    (*

    Provides URL hyperlink

    *)
  44. | `SharesAuthorWith
    (*

    Common authorship

    *)
  45. | `SharesJournalWith
    (*

    Published in same journal

    *)
  46. | `SharesPublicationVenueWith
    (*

    Published in same venue

    *)
  47. | `SharesFundingAgencyWith
    (*

    Funded by same agency

    *)
  48. | `SharesAuthorInstitutionWith
    (*

    Authors share affiliation

    *)
  49. | `Other of string
    (*

    Custom or future CiTO term

    *)
]

CiTO citation intent annotation.

Represents the intent or nature of a citation using the Citation Typing Ontology. Each variant corresponds to a specific CiTO property. The `Other variant allows for custom or future CiTO terms not yet included in this library.

Categories:

  • Factual: Citing for data, methods, evidence, or information
  • Critical: Agreement, disagreement, correction, or qualification
  • Rhetorical: Style-based citations (parody, ridicule, etc.)
  • Relational: Document relationships and compilations
  • Support: Providing or obtaining backing and context
  • Exploratory: Speculation and recommendations
  • Quotation: Direct quotes and excerpts
  • Dialogue: Replies and responses
  • Sharing: Common attributes between works

Conversion

Sourceval of_string : string -> t

of_string s converts a CiTO term string to its variant representation.

Recognized CiTO terms are converted to their corresponding variants. Unrecognized terms are wrapped in `Other.

The comparison is case-insensitive for standard CiTO terms but preserves the original case in `Other variants.

Examples:

  of_string "cites" (* returns `Cites *) of_string "usesMethodIn"
    (* returns `UsesMethodIn *) of_string
    "citesAsRecommendedReading" (* returns `CitesAsRecommendedReading *)
    of_string "customTerm" (* returns `Other "customTerm" *)
Sourceval to_string : t -> string

to_string t converts a CiTO variant to its canonical string representation.

Standard CiTO terms use their official CiTO local names (camelCase). `Other variants return the wrapped string unchanged.

Examples:

  to_string `Cites (* returns "cites" *) to_string `UsesMethodIn
    (* returns "usesMethodIn" *) to_string (`Other "customTerm")
  (* returns "customTerm" *)

Comparison

Sourceval equal : t -> t -> bool

equal a b tests equality between two CiTO annotations.

Two annotations are equal if they represent the same CiTO term. For `Other variants, string comparison is case-sensitive.

Jsont Type

Sourceval jsont : t Jsont.t

Declarative JSON type for CiTO annotations.

Maps CiTO intent strings to the corresponding variants. Unknown intents are mapped to `Other s.

Pretty Printing

Sourceval pp : Format.formatter -> t -> unit

pp ppf t pretty prints a CiTO annotation to the formatter.

Example output:

citesAsRecommendedReading