org.w3.banana

isomorphism

package isomorphism

Visibility
  1. Public
  2. All

Type Members

  1. case class CountingVC(forwardRels: Int, backwardRels: Int) extends VerticeClassification with Product with Serializable

  2. class CountingVCBuilder[Rdf <: RDF] extends VerticeCBuilder[Rdf]

    This is a much too simple Vertice classifier.

    This is a much too simple Vertice classifier. It is useful to test the MappingGenerator though. It classifies each vertice by the number of certain types of relations it has. WARNING: Do not use in production! Checking isomorphisms with this class on a list with a little duplication can make your machine stall. eg: comparing two graphs each containing the same two lists of length 6 and 5 can lead to a search tree of 65 million. This is better that the full ~ 10 billion search space, but nowhere near small enough to be useful. In comparison the SimpleHashVerticeType brings that down to 64.

    This is a case class as the case class, as that gives us the equals and hash methods. One could use an immutable Map, but that may be more expensive.

  3. class GraphIsomorphism[Rdf <: RDF] extends AnyRef

    Methods to establish Graph Equivalences

    Methods to establish Graph Equivalences

    Following Jeremy J. Carroll's "Matching RDF Graphs" article http://www.hpl.hp.com/techreports/2001/HPL-2001-293.pdf

    Also I found it useful to think in terms of the RDF category as defined by Benjamin Braatz in "Formal Modelling and Application of Graph Transformations in the Resource Description Framework" Proposition 2.1 ( p 16 )

    http://www.researchgate.net/profile/Benjamin_Braatz/publication/40635984_Formal_Modelling_and_Application_of_Graph_Transformations_in_the_Resource_Description_Framework/file/d912f50d3189b51ef1.pdf

    This code can be ameliorated in a number of ways:

    - by using lazy data structures - by optimising memory

    Rdf

    RDF implementation to work with

  4. case class HashVC(forwardRels: Long, backwardRels: Long) extends VerticeClassification with Product with Serializable

  5. trait MappingError extends Throwable with NoStackTrace

  6. case class MappingException(msg: String) extends Throwable with MappingError with Product with Serializable

  7. trait MappingGenerator[Rdf <: RDF] extends AnyRef

    Trait for implementations of BNode Mapping Generators.

    Trait for implementations of BNode Mapping Generators. A good implementation should never leave out a correct mapping. Better implementations should return less mappings. (better implementations may also be less easy to understand.)

  8. case class SimpleHashVCBuilder[Rdf <: RDF]()(implicit ops: RDFOps[Rdf]) extends VerticeCBuilder[Rdf] with Product with Serializable

    ops

    needed to calculate the hash of Nodes

  9. class SimpleMappingGenerator[Rdf <: RDF] extends MappingGenerator[Rdf]

  10. trait VerticeCBuilder[Rdf <: RDF] extends AnyRef

    A Vertice Classification Builder for a simple classification algorithm.

    A Vertice Classification Builder for a simple classification algorithm. More advanced classification builders may need different methods

  11. trait VerticeClassification extends AnyRef

Value Members

  1. object MappingGenerator

  2. object VerticeCBuilder

Ungrouped