code: public StructuredQueryDefinition temporalPeriodCompare(Axis axis1, TemporalOperator operator,
                                                           Axis axis2, String... options)
    {
      if ( axis1 == null ) throw new IllegalArgumentException("axis1 cannot be null");
      if ( operator == null ) throw new IllegalArgumentException("operator cannot be null");
      if ( axis2 == null ) throw new IllegalArgumentException("axis2 cannot be null");
      return new TemporalPeriodCompareQuery(axis1, operator, axis2, options);
    }
docs: Matches documents that have a relevant pair of period values. Values from axis1 must match
  values from axis2 using the specified operator.
  @param axis1 the first axis of document temporal values
  values that match this query
  @param operator the operator used to determine if values in the axis match the specified period
  @param axis2 the second axis of document temporal values
  @param options string options from the list for
  <a href="http://docs.marklogic.com/cts:period-compare-query">cts:period-compare-query calls</a>
  @return a query to filter by comparing temporal axes
  @see <a href="http://docs.marklogic.com/cts:period-compare-query">cts:period-compare-query</a>
  @see <a href="http://docs.marklogic.com/guide/search-dev/structured-query#id_19798">
  Structured Queries: period-compare-query</a>