<commit_before>module Alf
  module Operator::Relational
    # Relational projection (clip + compact)
    #
    # SYNOPSIS
    #   #{program_name} #{command_name} [OPERAND] -- ATTR1 ATTR2 ...
    #
    # OPTIONS
    # #{summarized_options}
    #
    # API & EXAMPLE
    #
    #   # Project on name and city attributes
    #   (project :suppliers, [:name, :city])
    #
    #   # Project on all but name and city attributes
    #   (project :suppliers, [:name, :city], :allbut => true)
    #
    # DESCRIPTION
    #
    # This operator projects tuples on attributes whose names are specified as 
    # arguments. This is similar to clip, except that this ones is a truly 
    # relational one, that is, it also removes duplicates tuples. 
    # 
    # When used in shell, the clipping/projection key is simply taken from
    # commandline arguments:
    #
    #   alf project suppliers -- name city
    #   alf project --allbut suppliers -- name city
    #
    class Project < Alf::Operator(__FILE__, __LINE__)
      include Operator::Relational, Operator::Shortcut, Operator::Unary
    <commit_msg>Fixed Project doc<commit_after>module Alf
  module Operator::Relational
    #
    # Relational projection (clip + compact)
    #
    # SYNOPSIS
    #
    #   #{shell_signature}
    #
    # OPTIONS
    # #{summarized_options}
    #
    # DESCRIPTION
    #
    # This operator projects tuples on attributes whose names are specified in 
    # ATTR_LIST. Unlike SQL, this operator **always** removes duplicates in the
    # result so that the output is a set of tuples, that is, a relation.
    #
    # With --allbut, the operators projects attributes in ATTR_LIST away instead 
    # of keeping them. 
    # 
    # EXAMPLE
    #
    #   alf project suppliers -- name city
    #   alf project --allbut suppliers -- name city
    #
    class Project < Alf::Operator(__FILE__, __LINE__)
      include Operator::Relational, Operator::Shortcut, Operator::Unary
    
{'fraction_non_alphanumeric': 0.09002557544757034, 'fraction_numerical': 0.0010230179028132991, 'mean_word_length': 2.5499092558983665, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7305340', 'n_tokens_mistral': 588, 'n_tokens_neox': 558, 'n_words': 191}