当前位置: 首页>>代码示例>>Java>>正文


Java Conjunction类代码示例

本文整理汇总了Java中de.fuberlin.wiwiss.d2rq.expr.Conjunction的典型用法代码示例。如果您正苦于以下问题:Java Conjunction类的具体用法?Java Conjunction怎么用?Java Conjunction使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


Conjunction类属于de.fuberlin.wiwiss.d2rq.expr包,在下文中一共展示了Conjunction类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: valueExpression

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
public Expression valueExpression(String value) {
	if (value == null) {
		return Expression.FALSE;
	}
	Matcher match = this.regex.matcher(value);
	if (!match.matches()) {
		return Expression.FALSE;
	}
	Collection<Expression> expressions = new ArrayList<Expression>(columns.size());
	for (int i = 0; i < this.columns.size(); i++) {
		Attribute attribute = columns.get(i);
		ColumnFunction function = columnFunctions.get(i);
		String attributeValue = function.decode(match.group(i + 1));
		if (attributeValue == null) {
			return Expression.FALSE;
		}
		expressions.add(Equality.createAttributeValue(attribute, attributeValue));
	}
	return Conjunction.create(expressions);
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:21,代码来源:Pattern.java

示例2: valueExpression

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
public Expression valueExpression(String value) {
	if (value == null) {
		return Expression.FALSE;
	}
	String[] parts = value.split(DELIMITER);
	// Check if given bNode was created by this class map
	if (parts.length != this.attributes.size() + 1 
			|| !this.classMapID.equals(parts[0])) {
		return Expression.FALSE;		
	}
	int i = 1;	// parts[0] is classMap identifier
	Collection<Expression> expressions = new ArrayList<Expression>(attributes.size());
	for (Attribute attribute: attributes) {
		expressions.add(Equality.createAttributeValue(attribute, parts[i]));
		i++;
	}
	return Conjunction.create(expressions);
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:19,代码来源:BlankNodeID.java

示例3: joinRelations

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
/**
 * Static convenience function that joins several {@link Relation}s into one. Exposed here
 * because it can be used in the old FastPath engine.
 * 
 * @param relations A set of {@link Relation}s
 * @param additionalCondition An additional expression, e.g. join condition
 * @return A relation that is the join of the inputs
 */
private Relation joinRelations(Collection<Relation> relations, Expression additionalCondition) {
	if (relations.isEmpty()) {
		return Relation.TRUE;
	}
	ConnectedDB connectedDB = ((Relation) relations.iterator().next()).database();
	AliasMap joinedAliases = AliasMap.NO_ALIASES;
	Collection<Expression> expressions = new HashSet<Expression>();
	expressions.add(additionalCondition);
	Collection<Expression> softConditions = new HashSet<Expression>();
	Set<Join> joins = new HashSet<Join>();
	Set<ProjectionSpec> projections = new HashSet<ProjectionSpec>();
	int limit = Relation.NO_LIMIT;
	int limitInverse = Relation.NO_LIMIT;
	List<OrderSpec> orderSpecs = null;
	
	for (Relation relation: relations) {
		joinedAliases = joinedAliases.applyTo(relation.aliases());
		expressions.add(relation.condition());
		softConditions.add(relation.softCondition());
		joins.addAll(relation.joinConditions());
		projections.addAll(relation.projections());
		orderSpecs = orderSpecs == null ? relation.orderSpecs() : orderSpecs;
		limit = Relation.combineLimits(limit, relation.limit());
		limitInverse = Relation.combineLimits(limitInverse, relation.limitInverse());
	}
	// TODO: Determine correct uniqueness instead of just false.
	// The new relation is unique if it is joined only on unique node sets.
	// A node set is unique if it is constrained by only unique node makers.
	
	// In the meantime, copy the uniqueness from the relation if there's just one
	boolean isUnique = relations.size() == 1 && (relations.iterator().next()).isUnique();
	return new RelationImpl(connectedDB, joinedAliases, Conjunction.create(expressions), 
			Conjunction.create(softConditions),
			joins, projections, isUnique, orderSpecs, limit, limitInverse);
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:44,代码来源:TripleRelationJoiner.java

示例4: constraint

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
/**
 * @return An expression that, if it holds for a result row, will ensure that
 * 		any two identically-named node makers produce the same node
 */
public Expression constraint() {
	Collection<Expression> expressions = new ArrayList<Expression>();
	for (Var var: nodeSets.keySet()) {
		NodeSetConstraintBuilder nodeSet = (NodeSetConstraintBuilder) nodeSets.get(var);
		if (nodeSet.isEmpty()) {
			return Expression.FALSE;
		}
		expressions.add(nodeSet.constraint());
	}
	return Conjunction.create(expressions);
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:16,代码来源:VariableConstraints.java

示例5: assertPatternValues

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
private void assertPatternValues(Pattern pattern, String value, Map<String,String> expectedValues) {
	assertTrue(matches(pattern, value));
	Collection<Expression> expressions = new HashSet<Expression>();
	for (String attributeName: expectedValues.keySet()) {
		String attributeValue = (String) expectedValues.get(attributeName);
		Attribute attribute = SQL.parseAttribute(attributeName);
		expressions.add(Equality.create(
				new AttributeExpr(attribute), 
				new Constant(attributeValue, attribute)));
	}
	Expression expr = Conjunction.create(expressions);
	assertEquals(expr, pattern.valueExpression(value));
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:14,代码来源:PatternTest.java

示例6: condition

import de.fuberlin.wiwiss.d2rq.expr.Conjunction; //导入依赖的package包/类
private Expression condition() {
	if (this.cachedCondition == null) {
		this.cachedCondition = Conjunction.create(this.conditions);
	}
	return this.cachedCondition;
}
 
开发者ID:aitoralmeida,项目名称:c4a_data_repository,代码行数:7,代码来源:SelectStatementBuilder.java


注:本文中的de.fuberlin.wiwiss.d2rq.expr.Conjunction类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。