Private API

This page lists non-exported (internal) symbols of CTBase.Descriptions.


From CTBase.Descriptions

compute_similarity

CTBase.Descriptions.compute_similarityFunction
compute_similarity(
    desc1::Tuple{Vararg{Symbol}},
    desc2::Tuple{Vararg{Symbol}}
) -> Float64

Compute similarity between two descriptions based on the Jaccard index of their symbols.

Arguments

  • desc1::Description: First description to compare
  • desc2::Description: Second description to compare

Returns

  • Float64: A value between 0.0 (no similarity) and 1.0 (identical)

Example

julia> using CTBase

julia> CTBase.Descriptions.compute_similarity((:a, :b), (:a, :c))
0.5
julia> CTBase.Descriptions.compute_similarity((:a, :b), (:a, :b))
1.0
julia> CTBase.Descriptions.compute_similarity((:x, :y), (:a, :b))
0.0

find_similar_descriptions

CTBase.Descriptions.find_similar_descriptionsFunction
find_similar_descriptions(
    target::Tuple{Vararg{Symbol}},
    descriptions::Tuple{Vararg{Tuple{Vararg{Symbol}}}};
    max_results
) -> Vector{String}

Find descriptions most similar to the target description based on symbol overlap.

Arguments

  • target::Tuple{Vararg{Symbol}}: The partial or incorrect description to match
  • descriptions::Tuple{Vararg{Description}}: A catalog of valid descriptions

Keyword Arguments

  • max_results::Int=5: Maximum number of similar descriptions to return

Returns

  • Vector{String}: Formatted string representations of the most similar descriptions

Example

julia> using CTBase

julia> descriptions = ((:a, :b), (:a, :c), (:x, :y))
julia> CTBase.Descriptions.find_similar_descriptions((:a,), descriptions)
2-element Vector{String}:
 "(:a, :b)"
 "(:a, :c)"

format_description_candidates

CTBase.Descriptions.format_description_candidatesFunction
format_description_candidates(
    descriptions::Tuple{Vararg{Tuple{Vararg{Symbol}}}};
    max_show
) -> Vector{String}

Format description candidates from a catalog for display in error messages.

Arguments

  • descriptions::Tuple{Vararg{Description}}: A catalog of descriptions

Keyword Arguments

  • max_show::Int=5: Maximum number of descriptions to include in the output

Returns

  • Vector{String}: A vector of formatted description strings

Example

julia> using CTBase

julia> descriptions = ((:a, :b), (:a, :c), (:x, :y), (:p, :q))
julia> CTBase.Descriptions.format_description_candidates(descriptions; max_show=3)
3-element Vector{String}:
 "(:a, :b)"
 "(:a, :c)"
 "(:x, :y)"