How to represent days in timeline tree for Neo4j/graphDB - graph

In reading this blog, this reference, and reviewing the answer to this question, I'm confused as to how one can represent distinct days in a timeline tree. In both cases they show a limited number of days on the example database and my thought is that this model cannot hold if you wanted to model an entire year or an unbounded temporal calendar period.
I am reading these examples such that the 'day' nodes are merely just the number of the day '1', '2', .. '31'. As every month has a day labeled '1', '2', etc, how do you traverse the path when you connect all days to months?
For example, in the attached modified drawing, month 12 and month 1 BOTH have days 1, 2 and 31 in them. When I look at event 2, how do I know if this took place on 12/31 or 1/31? I'd like to model all days for all months and using the template (as I understand it) creates ambiguous paths on the graph that do not allow for discrete temporal queries.
Or should a 'days' entity be a more unique number that represents the number of the day for that YEAR where the attribute for that number is the number of the day in the month?
As it stands I do not understand how you can create a complete timeline tree for an entire year as it is modeled in the above links.

The modified drawing shares the day nodes between months and that's why it's difficult to know whether event 2 took place on 12/31/2010 or 1/1/2011
The timetree for a single year, with a resolution of Day, will have 365/366 day nodes. So the Day node with value 31 is not shared by both January and December, but January and December have their own Day 31 nodes. In other words a day node relates to exactly one month, and a month node relates to exactly one year.
Then you can follow the path from the event back up to the root without having it diverge at month.
Peter's blog post referenced above shows the crossing of December into January but does not share the Day node 31- you can see that he's able to answer all your queries above.
To create the timeline, GraphAware has a module that maintains the timeline for you and helps you attach events as well- http://graphaware.com/neo4j/2014/08/20/graphaware-neo4j-timetree.html
Disclaimer: I work at GraphAware

Related

Google Analytics - Wrong count is reported for "users" in specifc Segment compared to actual "Users" count

When I look at the data in Audience Overview and select one of the country segments I’ve set up, for certain time periods I get completely different numbers than those when I’m looking at the segment “All Users” in Geo/Locations.
In below image, "users" from United Stats are reported as 1,773 for period of 2nd May, 2018 to 30th Apr, 2019 (previous period comparison).
But if run country specific report for 2nd May, 2018 to 30th Apr, 2019 - count of users from United Stats are 6,331.
It would be great if you can give any insight into why GA providing diffrence counts.
Thanks,
Chintak.
If a segment contains visitor data, date range is automatically limited to 93 days from your start date. However, your time interval is much higher so the problem I would say is in the configuration of your segment.
See the screenshot below:

Clockify Saved Reports for Half Month

Is there anyway to save reports in Clockify for a half-month period (i.e. 1-15th of the month and 16th-end)? We pay twice monthly and ideally can save off a report that can be used for a half month period.
UPDATE
Choosing a 15 day range 1st-15th and then scrolling does not work as Clockfy maintains the range size (15 days) rather than the concept of half month.
UPDATE2
Perhaps the question can better be phrased as: "does Clockify have any sort of semantic period of time for 'half-month' (aka semimonthly) that will be maintained when advancing time periods?"

Searching a range of events in a time graph

I'm trying to implement the graph from this blog post: http://blog.neo4j.org/2012/02/modeling-multilevel-index-in-neoj4.html
Inside the blogpost is a schematic of the graph and a query on how to find a range of events. However in my use case i don't have a set consecutive days. So for example the current state of the graph could be that i have day nodes from 12-7-2013 (12 july 2013) to 12-8-2013 (12 august 2013). Then when adding an event on 12-7-2014 i'm missing all the inbetween days for a whole year!
First problem is if i start to write queries that generate those days it might become very slow (application needs to be responsive). Second problem is i end up with days on which no event could be taken place, and so have unneeded data in my database.
So my question is: How can i get a range of events without using the NEXT relation between days?

Week number and ISO 8601 for Pageview counters

I need to store page view for specific products by week, day and year. I thought about using the following tables:
Weekly
List item
id
product_id
week_number
year
total_page_views (counter)
Daily
product_id
total_page_views
[for the day I won't keep archive data and yearly will be calculated based on the weekly table]
My question is actually about the week numerical value. I am wondering which week number I should use, I've read that ISO 8601 is one option and using .NET DataTime function to get the week is another one. I need your help to know which one should I use and whether there is a better way to optimize the table.
At the end, I want to show the top viewed products for the previous week, this week, previous year, etc.
I target my app towards the US and Europe crowd, where the week start at Monday. I'm developing my application in C#/ASP.NET/MySQL/Entity Framework. THANKS.

Confusion over Google Analytics (GA) Absolute Unique Visitors data

GA Unique Visitors data isn't making sense to me. From the GA FAQ we get the following definition for 'Visits vs. Visitors'
"The initial session by a user during any given date range is considered to be an additional visit and an additional visitor. Any future sessions from the same user during the selected time period are counted as additional visits, but not as additional visitors. "
The part that I can't resolve with the GA graph is "Any future sessions from the same user during the selected time period are counted as additional visits, but not as additional visitors". For the graph below covering a 30-day period, I would understand the GA definition to mean that the data represents uniqueness across all 30 days, right? But if you look at the screen shot below, you see a regular pattern for each week over the 30-day period the report covers. From that, it seems the numbers we are seeing associated with each of the days of the graph (e.g. 3.92% (4142) for Tuesday, September 8) is a count of unique visitors just in the context of that one day - i.e. without correlating their uniqueness to the rest of the days in the 30-day period. If the graph actually showed uniqueness across the 30-day period, I would expect the daily numbers to start high in the early days of the period and decrease over the 30-day period as the number of already-seen visitors (i.e. returning visitors) increases, no?
What am I missing here?
UPDATE
Helpful clue from Jonathan S. below got me on the right track.
I think I understand now what the daily bar graph values mean, but it's a little counter-intuitive and I'd bet not what some others might be assuming as well. The reports states "39,822 Absolute Unique Visitors" at the top, which means just that: over the 30-day period we saw this many uniques. Fair enough. The confusing part is that the daily (or weekly) bar values in the graph below are not mutually exclusive uniques as I had assumed, but are values relative only to the 39,822 total - i.e. there is overlap between the unique visitor counts across any group of days. This means the sum of the daily % values > 100% and the sum of the daily count values > 39,822. The algorithm is: when you visit for the first time in the 30-day period, call that "today", you add 1 to the total (39,822) and 1 to the "today" bar value. When you show up again "tomorrow", you are NOT counted again in the total, but ARE counted as 1 in the "tomorrow" bar value.
alt text http://img.skitch.com/20090922-djti81ejj5gqn575ibf8cj1e8x.jpg
I believe it's just an issue of grouping. The top right of the graph has 3 icons to group by day, week, or month. It's currently grouping by day. So if I visit your site today and come back tomorrow, I'll be counted once for each day.
I tried looking at the month view for one of my sites but it didn't give me much meaningful data. I believe the above should answer your original confusion though.
Is it possible that you're searching for something what isn't existing anymore? Unique Visitors/Visits is old terminology. Check: https://www.seroundtable.com/google-analytics-sessions-users-18424.html
Then check how sessions and users are defined:
Sessions ("ex-visits", it's very detailed): https://support.google.com/analytics/answer/2731565?hl=en&ref_topic=1012046
Users in Google Analytics reporting are defined as "Users who have initiated at least one session during the date range". So IMHO it's not about 30 days, it's about the SELECTED date range.
I hope this helps.

Resources