Graph Matching Description Description of the structure of query and resource graphs to be matched by the semantic matching engine Graph Matching Description Element Elements of a Graph Matching Description (GraphMD) are: ClusterMD, NodeMD, and PropertyMD Matchable Whereas GraphMDs and ClusterMDs are used to group elements, the instances of this class hold concrete values to be matched by applying a certain type of Matchers Cluster Matching Description Description of how to match a cluster (group of nodes) from a query graph with the corresponding cluster from a resource graph Node Matching Description Description of how to match a node from a query graph with the corresponding node from a resource graph Property Matching Description Description of how to match a property value of a node from a query graph with the corresponding property value of a node from a resource graph Matcher Calculates the similarity of two given RDFNodes. The RDFNodes may be Resources (having unique URI) or Literals with numeric or String values. Numeric Matcher Matcher which calculates semantic similarity of two numerical values String Matcher Matcher which calculates the similarity of two String values Taxonomic Matcher Matcher which calculates concept similarity between two given concepts based on their respective positions in the concept hierarchy Taxonomy This class represents a hierarchical structure of concepts from a given ontology Milestone Calculator A class which calculates milestone values for each hierarchy level of a given taxonomy Exponential Milestone Calculator This class represents a milestone calculator using an exponential function m(level) = 0.5 * pow (k_factor, level). The milestone values decrease exponentially allong the hierarchy levels. Lineal Milestone Calculator This class represents a milestone calculator using a linear function: m(level) = 1 - (level / deepestLevel) query Model URL used to provide a URL of the RDF model holding the query graph to be matched resource Model URL used to provide a URL of the RDF model holding the resource graph to be matched query Graph URI used to provide a URI of the RDF resource, which represents the entry of the query graph to be matched against resource graphs resource Graph URI path used to provide an RDQL path expression which will be evaluated in order to find all URI's of RDF resources representing the entry of each resource graph to be matched againest the query graph cluster matching descriptions used to provide a list (in form of an rdf:Bag) of cluster matching descriptions label label of the given Graph Matching Description Element weight Weight of the given Graph Matching Description Element. The summ of all element weights at a certain description level (for instance, weight of all nodes inside a cluster) equals 1. node matching descriptions used to provide a list (in form of an rdf:Bag) of node matching descriptions matcher used to privede the Matcher which will calculate the similarity of the query and res nodes/properties reverse matching In most cases the matching engine compares a value from a resource graph with the semantically corresponding value from a query graph (= the "required" value). But for some nodes it is reasonable to reverse the matching. A good example is comparing job requirements with applicant's profile. If a person (query graph) looks for a job (resource graph) then while comparing his skills with skills required for a certain position the required skills from a resource graph (job description) become the "should be" values, thus the matching direction has to be reversed. query node path used to provide an RDQL path expression which will be evaluated by the matching engine in order to find the queryNode(s) resource node path used to provide an RDQL path expression which will be evaluated by the matching engine in order to find the resourceNode(s) property matching descriptions used to provide a list (in form of an rdf:Bag) of property matching descriptions query property URI URI of the property of the query node resource property URI URI of the property of the resource node decrease similarity n2, these two numbers have a similarity value = 1 - for n1 > n2, the sim value is a number inside the interval [0,1). A good example for such a case is when comparing the maximum price (n1) of a product some person is willing to pay with the actual product's price (n2). If the product's price is lower than n1 than it meets this person's expectations (therefore sim = 1), otherwise the sim decreases with increasing price. If "with deviation" is set then the similarity dicreases both upwards and downwards. Range: "upwards", "downwards", "with deviation"]]> maximum deviation fraction For two numbers n1 nad n2, maxDevFraction is a fraction of n1 which indicates the maximum deviation from n1 beyond which the similarity between n1 and n2 eqals 0. Example: For n1=10 and maxDevFraction=0.7 and decreaseSim="downwards", any value of n2 which is lower than 3 will result in sim = 0. case sensitive Indicates if the matching should be case sensitive or not similarity inheritance If set to true (default setting) then sim(queryConcept, resourceConcept = any Subclass of queryConcept) = 1. This assumption seems to be reasonable because a subclass is always a kind of its superclass. Hovewer, there may be cases in which the user wants the actual distance between a subclass and a superclass to be respected in the similarity calculation. In this case, set this parameter to false. taxonomy The taxonomy based on which the TaxonomicMatcher calculates the concept similarity milestone calculator Indicates the type of milestone calculator which determines milestone values for all taxonomy levels taxonomy URL Location of the taxonomy file root concept URI URI of the root concept of a given taxonomy k factor Parameter used in the milestone formula: 0.5 / Math.pow(k, conceptLevel)where k is a factor larger than 1 that indicates the rate at which the milestone value decreases along the hierarchy.