I created my graph and its working as expected. My relationship table has property Name. When I merge my 2 tables (Entity 1 and Entity 2) and connect them Entity ID :
:auto USING PERIODIC COMMIT 500
LOAD CSV WITH HEADERS FROM 'file:///Rel(12March2021).csv' AS row
WITH toFloat(row.Entity1_ID) AS Entity1Id, toFloat(row.Entity2_ID) AS Entity2Id, row.Name AS Name, row.Label AS Label
MATCH (e1:Entity1 {Entity1Id: Entity1Id})
MATCH (e2:Entity2 {Entity2Id: Entity2Id})
MERGE (e2)-[rel:CONTAINS {Name: Name}]->(e1)
RETURN count(rel);
Then to display the graph, I do the following
MATCH (e2:Entity2)-[rel:CONTAINS]->(e1:Entity1)
RETURN e1, rel, e2 LIMIT 200;
As seen in the image below all relations are labelled 'Contains' with property 'Name' I want the value of the propoerty 'Name' to be displayed on the arrows instead of the word 'Contains'. Any idea how can I do that ? , For example in the highlighted arrow below I want the word 'obtain' to replace'Contains', same goes for the other relationship arrows (Note: I am using Neo4J Browser)
Same way as you do so for nodes.
Select the relationship type (in my example attached, it is CITY), then select the property to be displayed as a caption (in my example, it is since)
Related
Is it possible to use the id of a node or relationship in the stylesheet?
Currently, I know that node property values can be used through {property-name}, relationship types can be used through <type>, but I do not know whether or how to get at the id; I've tried {id} (which shouldn't work) and <id> (which seemed plausible), but neither works.
It works you have to use
caption: '<id>';
As you can see when you select the id field manually and then inspect the GRASS.
I am trying to create a report putting a field called contact which has the name of a person. This name is linked directly to another table where I keep all the contacts.
For some strange reason, when I include this name (which in query view displays as the name of the contact), instead of the name appearing, the unique ID number is shown on my report.
As mentioned in the article cited in the above comment, you can use a Combo Box control on your report to do the lookup for you. To see how this can be done, create a new report based on the table containing the lookup field, then drag and drop that field onto the report. That will create a Combo Box control with properties that look something like this:
Row Source: SELECT [Clients].[ID], [Clients].[LastName] FROM Clients;
Bound Column: 1
Column Count: 2
Column Widths: 0";1"
You could use a similar Combo Box control on your actual report to display the client's name rather than their numeric ID value.
Another alternative would be to change the Control Source of the report's Text Box control to have it do a DLookUp() on the table. If the lookup field is named [client] then changing the Control Source of the Text Box to something like
=DLookUp("LastName","Clients","ID=" & [client])
would also work.
I wanted to add to the great answer by Gord:
When using a "web" database (started in Access 2007 I think), you cannot change a report's fields to ComboBox style, nor can you use DLookUp(). (web databases lack a ton of features)
The workaround for this, if you want to create a Web-Report that uses lookup fields, is to create a Web-Query first based on your Web-Table (all the Web-* stuff has a www planet icon over the logo, if you create a new Web-DB in Access 2007+ you'll see what I mean)
So, instead of Table -> Report, you'll have to do W-Table -> W-Query -> W-Report.
Then, the only thing you need to customize to get the data right is the W-Query. Start by trying to reproduce the look in the query to match what you want users to see in the report. Note that here in the query, lookups will work fine (instead of the unique ID's, you get field names like you want). However, this will not carry over to the report. To do that, you gotta get the actual text field name you want into the query:
You should already have one table in your query; start by adding the table that your first lookup field points to. For example, the table I want to print is called Stock_Boards, and it has a lookup field called PCBID_lookup that points to the table Stock_PCBs.
Since you're using lookup fields, there should already be a relationship line between the two tables when you add the second one. If there isn't, something has gone horribly wrong.
Now, see how that line connects two fields on the two different tables? For example, I've got my PCBID_lookup field on my Stock_Boards table, which connects to the ID field on my Stock_PCBs table. If I created a report from this now, PCBID_lookup would be a number, a number that correlates to the ID of a record on Stock_PCBs.
To fix it, I will add the name field I want to show up on the report. In my example, that happens to be a Part Number, rather than the ID. I add the PartNumber field from my Stock_PCBs table to the query, and remove the PCBID_lookup field of the Stock_Boards table from my query.
Since PartNumber is what I want to show up on my report, it effectively replaces the original field (PCBID_lookup)
Repeat for all lookup fields you want in your report.
I had 1 more: I removed the Status field of the Stock_Boards table (which was an ID/Lookup) and added the 'Status' field from the Status table (which was the actual text name)
When finished, your query should look exactly how you want the data to appear, without any special tricks or asking Access to do something unnatural. Save your query, and create a web-report from it. Done!
how to get the current node position in the list?
Is there any access like $node->position?
I'm using Drupal 7. Thanks
It would help if you offered more information on what you are doing. You could add a select field called weight to the content type that would contain a range of numbers like -100 to 100 and then create a view that pulls in content of that type and then add a sort criteria based on the select field "weight". But we would need more information on what you are doing in order to give you a more accurate response.
i have a content type event with following fields date,type and using fivestar module for voting. The type takes 3 possible values 'art', 'entertainment', 'iq'. i try to generate a block that should display top event (by votes) in each category. any one have idea ??
You should be able to do this relatively easy in a custom module, I have a hard time seeing how you would do this in views with the UI.
You need a query that looks something like this
SELECT nid FROM {voting_api} AS v
LEFT JOIN {content_content_type} AS c on v.content_id = c.nid
WHERE c.field_name = 'art'
AND v.function = 'count'
AND c.content_type = 'node'
ORDER BY v.value
LIMIT 1;
You need to run a query for each value, art, entertainment and iq. If you want to make it more reliable, you should use content_fields() and content_database_info() to get the table name and column name of your CCK field (which can change over time).
I've got two content types, both have a node title and a document attachment, the doc attachment fields are different names (being from two different content types).
In my view, I'm displaying the node title and the file name in a table. The node titles are great all in one column, but the two content typed attachment fields are displaying in two separate columns, making three columns total when there should only be two. Every row has a single doc title, but one or the other column is always blank now depending on which content type's doc title is displayed.
How can I combine these two fields to display in the same column so it looks seamless? It is not important to know that these docs came from two different content types. These are organized by larger taxonomy terms so it's not feasible to just do two different views.
Alas, the answer was right in the views help:
Column
By default, each field is its own
column. However, you can place
multiple fields in the same column. To
do this, pick which field you want to
represent the column, then pick
another field and set the 'column'
value to that field. You can place as
many fields as you like in a single
column, but only the main field in a
column can be click-sorted.
I found this answer and it works for me:
http://drupal.org/node/1120304#comment-5111606
You can use any field as a token in another field in the default Views module.
So if you want to concat text fields together, say you have field A with value "Hello" and field B with value "World" and you want a concat field with value "Hello World":
1) Edit field A, choose exclude from display, do the same thing with field B
2) Create field C as Global: Text and ensure that it is ordered after field A and field B (you can only use fields as tokens if they are defined before the target field).
3) You can now see the replacement patterns available to you just under the value textarea in field C. It will be something like [field A] [field B]
Now if you want to calculate a number field based on 2 other fields the method is similar to concat, except for field C you would use the Global: Math Expression field:
1) Edit field A, choose exclude from display, do the same thing with field B
2) Create field C as Global: Math Expression and ensure that it is ordered after field A and field B (you can only use fields as tokens if they are defined before the target field).
3) You can now see the replacement patterns available to you just under the value textarea in field C. It will be something like [field A]+[field B]