return query; final DisjointSet<Object> coreVertices = new DisjointSet<Object>(); final ATermAppl a = undistVarIterator.next(); coreVertices.add( a ); coreVertices.add( atom ); coreVertices.union( a, atom ); coreVertices.add( a2 ); coreVertices.union( a, a2 ); coreVertices.add( atom ); coreVertices.union( a, atom ); coreVertices.add( a2 ); coreVertices.union( a, a2 ); coreVertices.add( atom ); coreVertices.union( a, atom ); toRemove.add( atom ); for( final Set<Object> set : coreVertices.getEquivalanceSets() ) { final Collection<QueryAtom> atoms = new ArrayList<QueryAtom>();
stack.add( entity ); stackElements.add( entity ); modEqCls.add( entity ); for( int i = stack.size() - 1; !foundMember; i-- ) { OWLEntity next = stack.get( i ); modEqCls.union( member, next ); foundMember = next.equals( member ); for( OWLEntity other : modEqCls.elements() ) { if( modEqCls.isSame( entity, other ) ) { modules.get( other ).addAll( module );
/** * {@inheritDoc} */ public Set<OWLAxiom> extractModule(Set<? extends OWLEntity> signature) { if( isChanged() ) resetModules(); Set<OWLEntity> module = new HashSet<OWLEntity>( signature ); for( OWLAxiom axiom : getAxioms() ) { if( !isLocal( axiom, Collections.<OWLEntity> emptySet() ) ) module.addAll( OntologyUtils.getSignature( axiom ) ); } if( !entityAxioms.isEmpty() ) { if( optimizeForSharedModules ) extractModuleSignature( null, new HashSet<OWLEntity>(), new ArrayList<OWLEntity>(), module ); else extractModuleSignature( null, new DisjointSet<OWLEntity>(), new ArrayList<OWLEntity>(), module ); } return getModuleAxioms( module ); }
final Set<ATermAppl> resultVars = new HashSet<ATermAppl>( query.getResultVars() ); final DisjointSet<ATermAppl> disjointSet = new DisjointSet<ATermAppl>(); continue; disjointSet.add( arg ); if( toMerge != null ) { disjointSet.union( toMerge, arg ); final Collection<Set<ATermAppl>> equivalenceSets = disjointSet.getEquivalanceSets(); for( final ATermAppl arg : atom.getArguments() ) { if( ATermUtils.isVar( arg ) ) { representative = disjointSet.find( arg ); break;
new ArrayList<OWLEntity>(), new HashSet<OWLEntity>( nonLocalModule ) ); else extractModuleSignature( ent, new DisjointSet<OWLEntity>(), new ArrayList<OWLEntity>(), new HashSet<OWLEntity>( nonLocalModule ) );
public T find(T o) { return findRoot( o ).object; }
public Collection<Set<T>> getEquivalanceSets() { Map<T, Set<T>> equivalanceSets = new HashMap<T, Set<T>>(); for( T x : elements.keySet() ) { T representative = find( x ); Set<T> equivalanceSet = equivalanceSets.get( representative ); if( equivalanceSet == null ) { equivalanceSet = new HashSet<T>(); equivalanceSets.put( representative, equivalanceSet ); } equivalanceSet.add( x ); } return equivalanceSets.values(); }
public T find(T o) { return findRoot( o ).object; }
public Collection<Set<T>> getEquivalanceSets() { Map<T, Set<T>> equivalanceSets = new HashMap<T, Set<T>>(); for( T x : elements.keySet() ) { T representative = find( x ); Set<T> equivalanceSet = equivalanceSets.get( representative ); if( equivalanceSet == null ) { equivalanceSet = new HashSet<T>(); equivalanceSets.put( representative, equivalanceSet ); } equivalanceSet.add( x ); } return equivalanceSets.values(); }