<commit_before><?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
	
	<!-- Properties configuration -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>file:${annis.home}/conf/annis-service.properties</value>
			</list>
		</property>
	</bean>
	
	<!-- transforms a DDDquery into its disjunctive normal form -->	
	<bean id="dnfTransformer" class="annis.sqlgen.DnfTransformer"/>
	
	<!-- analyzes a single clause of a DDDquery -->
	<bean id="clauseAnalysis" class="annis.sqlgen.ClauseAnalysis" scope="prototype">
		<property name="precedenceBound" value="${annis.precedence-restriction}"/>
	</bean>
	
	<!-- SELECT clause generator -->
	<bean id="findMatchesSelectClauseSqlGenerator" class="annis.sqlgen.FindMatchesSelectClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	<!-- FROM clause generator -->
	<bean id="tableJoinsInFromClauseSqlGenerator" class="annis.sqlgen.TableJoinsInFromClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	
	<!-- WHERE clause generator -->
	<bean id="defaultWhereClauseSqlGenerator" class="annis.sqlgen.DefaultWhereClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>

  <bean id="subcorpusConstraintWhereClause" class="annis.sqlgen.SubcorpusConstraintWhereClause">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
  <bean id="metaDataAndCorpusWhereClause" class="annis.sqlgen.MetaDataAndCorpusWhereClause">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>

	<bean id="countClauseSqlGenerator" parent="findClauseSqlGenerator">
		<property name="selectClauseSqlGenerators">
			<util:list>
				<ref bean="countMatchesSelectClauseSqlGenerator"/>
			</util:list>
		</property>
	</bean>
	
	<bean id="countMatchesSelectClauseSqlGenerator" class="annis.sqlgen.CountMatchesSelectClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	<!-- generates a SQL statement for a single clause -->
	<bean id="findClauseSqlGenerator" class="annis.sqlgen.ClauseSqlGenerator">
		<property name="selectClauseSqlGenerators">
			<util:list>
				<ref bean="findMatchesSelectClauseSqlGenerator"/>
			</util:list>
		</property>
		<property name="fromClauseSqlGenerators">
			<util:list>
				<ref bean="tableJoinsInFromClauseSqlGenerator"/>
			</util:list>
		</property>
		<property name="whereClauseSqlGenerators">
			<util:list>
				<ref bean="defaultWhereClauseSqlGenerator"/>
        <ref bean="subcorpusConstraintWhereClause"/>
        <ref bean="metaDataAndCorpusWhereClause" />
			</util:list>
		</property>
	</bean>
	
	<util:map id="tableAliases">
		<entry key="node" value="node"/>
		<entry key="node_annotation" value="node_annotation"/>
		<entry key="rank" value="facts"/>
		<entry key="component" value="facts"/>
		<entry key="edge_annotation" value="facts"/>
	</util:map>
	
	<util:map id="columnAliases">
		<entry key="rank">
			<util:map>
				<entry key="component_ref" value="component_id"/>
			</util:map>
		</entry>
		<entry key="node_annotation">
			<util:map>
				<entry key="node_ref" value="id"/>
				<entry key="namespace" value="node_annotation_namespace"/>
				<entry key="name" value="node_annotation_name"/>
				<entry key="value" value="node_annotation_value"/>
			</util:map>
		</entry>
		<entry key="component">
			<util:map>
				<entry key="name" value="edge_name"/>
				<entry key="type" value="edge_type"/><commit_msg>- column mappings needed an update<commit_after><?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd">
	
	<!-- Properties configuration -->
	<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>file:${annis.home}/conf/annis-service.properties</value>
			</list>
		</property>
	</bean>
	
	<!-- transforms a DDDquery into its disjunctive normal form -->	
	<bean id="dnfTransformer" class="annis.sqlgen.DnfTransformer"/>
	
	<!-- analyzes a single clause of a DDDquery -->
	<bean id="clauseAnalysis" class="annis.sqlgen.ClauseAnalysis" scope="prototype">
		<property name="precedenceBound" value="${annis.precedence-restriction}"/>
	</bean>
	
	<!-- SELECT clause generator -->
	<bean id="findMatchesSelectClauseSqlGenerator" class="annis.sqlgen.FindMatchesSelectClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	<!-- FROM clause generator -->
	<bean id="tableJoinsInFromClauseSqlGenerator" class="annis.sqlgen.TableJoinsInFromClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	
	<!-- WHERE clause generator -->
	<bean id="defaultWhereClauseSqlGenerator" class="annis.sqlgen.DefaultWhereClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>

  <bean id="subcorpusConstraintWhereClause" class="annis.sqlgen.SubcorpusConstraintWhereClause">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
  <bean id="metaDataAndCorpusWhereClause" class="annis.sqlgen.MetaDataAndCorpusWhereClause">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>

	<bean id="countClauseSqlGenerator" parent="findClauseSqlGenerator">
		<property name="selectClauseSqlGenerators">
			<util:list>
				<ref bean="countMatchesSelectClauseSqlGenerator"/>
			</util:list>
		</property>
	</bean>
	
	<bean id="countMatchesSelectClauseSqlGenerator" class="annis.sqlgen.CountMatchesSelectClauseSqlGenerator">
		<property name="tableAccessStrategyFactory" ref="tableAccessStrategyFactory"/>
	</bean>
	
	<!-- generates a SQL statement for a single clause -->
	<bean id="findClauseSqlGenerator" class="annis.sqlgen.ClauseSqlGenerator">
		<property name="selectClauseSqlGenerators">
			<util:list>
				<ref bean="findMatchesSelectClauseSqlGenerator"/>
			</util:list>
		</property>
		<property name="fromClauseSqlGenerators">
			<util:list>
				<ref bean="tableJoinsInFromClauseSqlGenerator"/>
			</util:list>
		</property>
		<property name="whereClauseSqlGenerators">
			<util:list>
				<ref bean="defaultWhereClauseSqlGenerator"/>
        <ref bean="subcorpusConstraintWhereClause"/>
        <ref bean="metaDataAndCorpusWhereClause" />
			</util:list>
		</property>
	</bean>
	
	<util:map id="tableAliases">
		<entry key="node" value="node"/>
		<entry key="node_annotation" value="node_annotation"/>
		<entry key="rank" value="facts"/>
		<entry key="component" value="facts"/>
		<entry key="edge_annotation" value="facts"/>
	</util:map>
	
	<util:map id="columnAliases">
		<entry key="rank">
			<util:map>
				<entry key="component_ref" value="component_id"/>
			</util:map>
		</entry>
		<entry key="node_annotation">
			<util:map>
				<entry key="node_ref" value="node_ref"/>
				<entry key="namespace" value="namespace"/>
				<entry key="name" value="name"/>
				<entry key="value" value="value"/>
			</util:map>
		</entry>
		<entry key="component">
			<util:map>
				<entry key="name" value="edge_name"/>
				<entry key="type" value="edge_type"/>
{'fraction_non_alphanumeric': 0.15664732749043328, 'fraction_numerical': 0.002468831008517467, 'mean_word_length': 5.635544635544636, 'pattern_counts': {'":': 0, '<': 183, '<?xml version=': 2, '>': 183, 'https://': 0, 'lorem ipsum': 0, 'www.': 14, 'xml': 8}, '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': '7391412', 'n_tokens_mistral': 2707, 'n_tokens_neox': 2492, 'n_words': 408}