Class GraphComparisons


  • class GraphComparisons
    extends java.lang.Object
    Functions for canonicalizing RDF models and computing isomorphism.
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) static class  GraphComparisons.Partitioning
      Encapsulates the current partitioning state of the algorithm, keeping track of previous and current node:hashcode mappings as well as static value mappings.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static com.google.common.hash.HashCode distinguisher  
      private static com.google.common.hash.HashFunction hashFunction  
      private static com.google.common.hash.HashCode incoming  
      private static com.google.common.hash.HashCode initialHashCode  
      private static org.slf4j.Logger logger  
      private static com.google.common.hash.HashCode outgoing  
    • Field Detail

      • logger

        private static final org.slf4j.Logger logger
      • hashFunction

        private static final com.google.common.hash.HashFunction hashFunction
      • initialHashCode

        private static final com.google.common.hash.HashCode initialHashCode
      • outgoing

        private static final com.google.common.hash.HashCode outgoing
      • incoming

        private static final com.google.common.hash.HashCode incoming
      • distinguisher

        private static final com.google.common.hash.HashCode distinguisher
    • Constructor Detail

      • GraphComparisons

        GraphComparisons()
    • Method Detail

      • isomorphicSingleContext

        private static boolean isomorphicSingleContext​(Model model1,
                                                       Model model2)
      • mappingsIncompatible

        private static boolean mappingsIncompatible​(java.util.Map<BNode,​com.google.common.hash.HashCode> mapping1,
                                                    java.util.Map<BNode,​com.google.common.hash.HashCode> mapping2)
      • isoCanonicalize

        protected static Model isoCanonicalize​(Model m)
      • getIsoCanonicalMapping

        protected static java.util.Map<BNode,​com.google.common.hash.HashCode> getIsoCanonicalMapping​(Model m)
      • getBlankNodes

        protected static java.util.Set<BNode> getBlankNodes​(Model m)
      • distinguish

        private static java.util.Map<BNode,​com.google.common.hash.HashCode> distinguish​(Model m,
                                                                                              GraphComparisons.Partitioning partitioning,
                                                                                              java.util.Map<BNode,​com.google.common.hash.HashCode> lowestFound,
                                                                                              java.util.List<BNode> parentFixpoints,
                                                                                              java.util.List<java.util.Map<BNode,​com.google.common.hash.HashCode>> finePartitionMappings)
      • findCompatibleAutomorphism

        protected static java.util.Map<BNode,​BNode> findCompatibleAutomorphism​(java.util.List<BNode> fixpoints,
                                                                                     java.util.List<java.util.Map<BNode,​com.google.common.hash.HashCode>> partitionMappings)
      • partitions

        protected static java.util.List<java.util.Collection<BNode>> partitions​(com.google.common.collect.Multimap<com.google.common.hash.HashCode,​BNode> partitionMapping)
      • partitionMapping

        protected static com.google.common.collect.Multimap<com.google.common.hash.HashCode,​BNode> partitionMapping​(java.util.Map<BNode,​com.google.common.hash.HashCode> blankNodeMapping)
      • labelModel

        private static Model labelModel​(Model original,
                                        java.util.Map<BNode,​com.google.common.hash.HashCode> hash)
      • hashTuple

        protected static com.google.common.hash.HashCode hashTuple​(com.google.common.hash.HashCode... hashCodes)
      • hashBag

        protected static com.google.common.hash.HashCode hashBag​(com.google.common.hash.HashCode... hashCodes)
      • createCanonicalBNode

        private static BNode createCanonicalBNode​(BNode node,
                                                  java.util.Map<BNode,​com.google.common.hash.HashCode> mapping)