Property File: Node and Relation SettingsThese settings define the nodes and the relations to be generated |
==== Create Nodes | |
tdg.node.list=[alias]:[Label]:[#create],[Label]:[#create],[Label]:[#create] | This propery contains a comma seperated list of "create definitions". The "create definition" has the following format: example: tdg.node.list=p1:Person:20,p2:Person:20,Company:20 In words: |
tdg.node.props.[node alias | Label].propName | It is possible to set properties on a node. [node alias | Label] See the Generator Functions for the possible property value generation possibilities. example: tdg.node.props.Company.name=companyName tdg.node.props.Company.url=url tdg.node.props.Company.bs=companyBS tdg.node.props.Company.slogan=companySlogan tdg.node.props.Company.text=txtText:40 tdg.node.props.Company.sentence=txtSentence tdg.node.props.Company.sentences=txtSentences:3 tdg.node.props.Company.paragraph=txtParagraph:10 tdg.node.props.Company.paragraphs=txtParagraphs:3 |
==== Lookup Nodes | |
tdg.lookup.nodes.list=[alias],[alias] | All the aliases for lookups must be in this list. Note that an [alias] must be unique for create and lookup nodes example: tdg.lookup.nodes.list=mJobs,mCity |
tdg.lookup.cypher.[lookup alias]=[cypher statement] | Every lookup alias must have a cypher statement. You must use a '\' in the cypher statement if you want to have a multiline statement. The cypher statement must have one or more node columns in the return. example: tdg.lookup.cypher.mJobs=match (job:Job) \ where job.level = "high" \ return job tdg.lookup.cypher.mCity=match (city:City) return city |
tdg.lookup.props.[lookup alias].[return column].propName | It is possible to set properties on lookup node. The Lookup node is identified by the lookup alias and the name of the return column See the Generator Functions for the possible property value generation possibilities. example: tdg.lookup.props.mJobs.job.worktime=percentage |
==== Relations | |
tdg.rel.list=[relation alias],[relation alias], | It is possible to create relations between lookup nodes, between nodes and between lookup nodes and nodes. The relations must be defined first in a list of relation aliases example: tdg.rel.list=p1Likep2,p2dislikesp1,jobscity Now for every relation alias a relation definition must be defined. |
tdg.rel.def.[rel name]=[start identifier],[relationtype],[end identifier],[cardinality] | [start identifier]: [relationtype] : [end identifier] : [cardinality] : Possible values are: 1-n | n-1 | 1-1 example: tdg.rel.def.p1Likep2=p1,LIKES,p1,n-1 tdg.rel.def.p2dislikesp1=p2,DISLIKES,p1,1-1 tdg.rel.def.jobscity=mJobs.job,LOCATED_IN,mCity.city,n-1 |
tdg.rel.props.[relation alias].propName | It is possible to set properties on a relation. See the Generator Functions for the possible property value generation possibilities. example: tdg.rel.props.p2dislikesp1.weight=percentage |
==== Repeater Lookup Nodes (In short repeatnode) | |
tdg.repeatnode.list=[repeatnode alias],[repeatnode alias], | Based on an input list every lookup query is executed. example: tdg.repeatnode.list=compperson |
tdg.repeatnode.input.[repeatnode alias]=[type]:[definition] | Based on an input list every lookup query is executed. examples: input.repeatOne=list:bus,tram,metro input.repearOne=list:1,2,3,4 - file:a File Name This file must have a single value for each line. The file must be present in the 'ddgres' directory example: file:skills.txt- range:[from],[to] example: range:1,10- query:[cypher query] This Cypher query must return one column value (not a node!). example: query:match (c:City) return distinct c.name |
tdg.repeatnode.cypher.[repeatnode alias].[name]=[cypher query] | [repeatnode alias] example: tdg.repeatnode.cypher.compperson.pers=MATCH (prs:Person) \ -[:LIVES]->(cit:City {name:'##INPUT##'}) return prs tdg.repeatnode.cypher.compperson.comp=MATCH (cmp:Company) \ -[:LOCATED_IN]->(cit:City {name:'##INPUT##'}) return cmp |
tdg.rel.repeat.list=[repeat relation alias] | Relation definitions for the repeat nodes. It is possible to relate to normal nodes, lookup node and repeat nodes. Note that the repeat node is refreshed for every itteration over the input list. example: tdg.rel.repeat.list=compprs |
tdg.rel.repeat.def.[repeat relation alias]=[start node identifier],[type],[end node identifier],[cardinality] | Relation definitions for the repeat nodes. It is possible to relate to normal nodes, lookup node and repeat nodes. Note that the repeat node is refreshed for every itteration over the input list. [start/end node identifier] example: tdg.rel.repeat.def.compprs=compperson#pers.prs,WORKS_FOR,compperson#comp.cmp,n-1 |
tdg.rel.repeat.props.[repeat relation alias].propName | It is possible to set properties on a repeater relation. See the Generator Functions for the possible property value generation possibilities. example: tdg.rel.repeat.props.compprs.year=year:1950,2000 |