我正在设计一个可视化显示来自Neo4J的数据的Web应用程序。这是我目前的注释:
CREATE (diseasedataset:Dataset { title: 'Disease Dataset', description: 'Dataset about diseases and mapping to cytogenetic location', creator: 'Zach'})
CREATE (diseasedata:Table { title: 'Disease', represents: 'mesh:Disease'})
CREATE (diseasedata)-[:BELONGS_TO]->(diseasedataset)
CREATE (diseaseid:Column { title: 'ID', columntype: 'Property', semanticrelation: 'dct:identifier'})
CREATE (diseaseid)-[:BELONGS_TO]->(diseasedata)
CREATE (diseasename:Column { title: 'Name', columntype: 'Property', semanticrelation: 'skos:preferredLabel'})
CREATE (diseasename)-[:BELONGS_TO]->(diseasedata)
CREATE (diseasedesc:Column { title: 'Descriptions', columntype: 'Property', semanticrelation: 'dct:description'})
CREATE (diseasedesc)-[:BELONGS_TO]->(diseasedata)
CREATE (diseasesymp:Column { title: 'Symptoms', columntype: 'Class', represents: 'mesh:Symptom', semanticrelation: 'syo:Symptom'})
CREATE (diseasedesc)-[:BELONGS_TO]->(diseasedata)
如何创建一个表(使用cypher查询),每个行都有一个[Column]和每个Column的属性集合。这特别棘手,因为并非每列都具有相同的属性。例如:
行|专栏|属性
1 | dieseaseId | title,columnType,semanticRelation
2 | diseasesymp | title,columnType,represent,semanticRelation
3(等等)......
他们是一个直观的方式吗?我对Neo4j和Cypher比较陌生,并且无法在线或通过文档找到这样的内容。感谢您的时间和任何建议!
答案 0 :(得分:1)
我不确定您是否可以使用一个密码查询来执行此操作。您可能需要先返回密钥,然后生成一个获取这些密钥的查询。要获得密钥,您可以返回所有数据,或者在Neo4j 2.2.0(仍然是候选发布版,但希望很快就会发布)中,您可以执行此操作:
MATCH n UNWIND keys(n) AS key RETURN DISTINCT key
这将返回一个关于您指定的节点上的唯一键的列表(这里我正在做MATCH n
,它匹配所有节点。然后您可以生成一个查询,其中包含:
MATCH n RETURN n.key1, n.key2, n.key3, ....