2017-02-21 2 views
2

Какие свойства должен иметь узел, чтобы его имя отображалось в графике. GRÀFIC?Какие свойства узла должны существовать для чистого имени графа в jQassistant

создать какой-то узел, основанный на моих пакетов с

MATCH (artifact:Artifact) 
WHERE 
    artifact.type <> "test-jar" 
MATCH 
    (artifact:Artifact)-[:CONTAINS]->(root:Package{fqn:"net.sf.sze.dao.api"})-[:CONTAINS]->(slice:Package) 
WITH COLLECT(slice) AS rows1 
MATCH 
    (artifact:Artifact)-[:CONTAINS]->(root:Package{fqn:"net.sf.sze.frontend"})-[:CONTAINS]->(slice:Package) 
WITH rows1 + COLLECT(slice) AS rows2 
MATCH 
    (artifact:Artifact)-[:CONTAINS]->(root:Package{fqn:"net.sf.sze.service"})-[:CONTAINS *2..2]->(slice:Package) 
WITH rows2 + COLLECT(slice) AS rows3 
UNWIND rows3 AS slice 
MERGE (sn:Slice{name:slice.name}) 
MERGE (sn)-[:SLICE_CONTAINS]-> (slice) 
RETURN 
    sn 

и попытаться создать диаграмму GraphML с

MATCH 
    (slice1:Slice)-[:SLICE_CONTAINS]->()-[:CONTAINS*]->(t1:Type), 
    (slice2:Slice)-[:SLICE_CONTAINS]->()-[:CONTAINS*]->(t2:Type), 
    (t1)-[d:DEPENDS_ON]->(t2) 
WHERE 
    slice1 <> slice2 
WITH 
    slice1, slice2, count(d) as weight 
RETURN 
    slice1 as Slice1, slice2 as Slice2, { 
    role :  "relationship", 
    type :  "DEPENDS_ON", 
    startNode: slice1, 
    endNode: slice2, 
    properties: { 
     weight: weight 
    } 
    } as Dependency 

Диаграмма создается также ожидают имена узлов. Я получаю только как Label CompositeObject, id = 123456, что делает диаграмму бесполезной.

Может ли кто-нибудь дать мне подсказку, что случилось?

ответ

2

Для типов, определенных сканером jQAssistant, существуют конкретные правила типа, которые будут отображаться как метка, например. «fqn» для отмеченных узлов «: Artifact».

Вы создаете виртуальную связь, в которой тип не может быть определен, поэтому свойство не может быть показано. jQAssistant 1.3.0 будет поддерживать свойство «label» для управления этим, например.

.... 
RETURN 
    slice1 as Slice1, slice2 as Slice2, { 
    role :  "relationship", 
    type :  "DEPENDS_ON", 
    startNode: slice1, 
    endNode: slice2, 
    label: weight, // set an explicit label 
    properties: { 
     weight: weight 
    } 
} as Dependency 
+1

Для какого узла используется метка? Когда будет опубликовано 1.3.0? Артефакт и свойство 'fqn' решили это. – niels

+0

Метка обозначает виртуальный элемент, который вы создаете, в этом случае это отношения (role: "relationship"). jQAssistant 1.3.0 уже запланирован на середину/конец марта 2017. –

+0

В моем случае мне нужна метка для узлов. – niels

Смежные вопросы