mkalus / segrada Goto Github PK
View Code? Open in Web Editor NEWSegrada - Semantic Graph Database
Home Page: http://www.segrada.org/
License: Other
Segrada - Semantic Graph Database
Home Page: http://www.segrada.org/
License: Other
Export data to DARIAH, GND and other formats.
Think of a method to handle tags if user does not have the proper access rights.
It would be great if you could add full Extended ISO standard date fields...
i.e. "1882", "1882-10", "1882-10-31", 31-10-1882 and so on... even with time would be great even though it might not be used very often, it would be great to have the possibility when a time occur in a document.
Add the possibility to export data as CSV (e.g. for Gephi).
Source links to sources within texts should work correctly.
It would be great if there could be some more fields for Notes and Research Notes for entities.
If possible Notes that have date/datespan as metadata that can be used eiter for historical "stories" about the object, or to write Date registered Research Notes/Logs for each object.
To be able to split the Descrition, any "normal" notes or writings and any Research Logs would be a great feature.
Make users and groups manageable on the web interface.
If I move a Node in the graph view that has a edge/link that has a custom color, i.e. green or blue, the color of the edge change to grey.
If I reload the graph view the correct color occur again, but the Nodes has moved back to a default position in the graph, and as soon as I try to move one of the Nodes again, the edge change color again back to "default" grey.
EDIT: The color of the Edge do switch back to the custom color AFTER you click out of the Node so that the node is no longer selected, but it is a delay on this, it would have been better if the edge color kept the custom color when moving connected Nodes.
Tab "Relations" should not show relations and/or nodes if user does not have access to these.
Add a REST interface.
To make the application more "open" replace Google maps with OpenLayers.
When choosing "recompile index" or "clear cache", the results are in German, although the language chosen seems to be English.
Add versions of documents with changelists, rollbacks and the like.
It would be nice if the graph showed multiple relations with same type as multiple items based on date and or description...
Case: I have one person that applied/filed multiple Patent applications to same Office, but in different years...
I want to create a graph that visualize the work process of this and other linked actions i.e.
Persons -> Patent Application-> Office /(in 1881)
Office -> patent applied -> Patent No. /(in 1881)
Office -> patent published -> Person /(in 1881)
Office -> patent published -> Newspapers /(in 1881)
Persons -> Patent Application -> Office /(in 1882) / This is the problem, it will be the same line as the one in 1881
As of now I have 10 Patent Applications from the same person to the same office over a period of over 30 years, and it would be great to see it in the graph that its multiple applications thats been filed...
The workaround is to add the "patent"-node in between, but then the workflow will not be correct, because there was no patent or patent number for that application when it was filed, its first when the patent are issued it becomes a patent...
I might have the same problem with multiple other events to...
How to query nodes and edges programmably? cypher or gremlin?
When you get larger graph, often both text and edges overlap, it is possible to drag the Nodes out, but it would be great if there was a feature to save and lock the position of a moved Node in the Graph, so that it stayed at the same position until it was manually moved or unlocked again.
This would help create graphs that was easy to navigate.
Saving the complete graph view is not the same, since it will change when you reload it.
Speed is lacking in certain cases like:
Default file sorting is not correct. Create default sorting by title.
Would it be possible to ask for bigger pictograms in the Graph View?
I would like to use Logos for different Companies to better visualize them...
It would also be great if you could add Line Wrapping for the Title in Graph View...
Reason for this is that when you have Nodes with long Names, i.e. a Government Office og a Company or the full name for a Museum/Library, the Title Text will often cover Titles of other Nodes...
It would also be great if we could chose to use the Description of Relations as descriptors for the Relations in the Graph View, instead of the Relation Type.
Hi, I am using the Segrada version from 2019-04-09. Great tool!
It seems that the graph does not reflect updated links between nodes: I can add links or change their color, the graph stays the same. The graph refresh button does not seem to work. Or am I missing something?
It seems I corrupted my database. What I did was:
After doing this I tried to load the database in an OrientDB instance to fix whatever happened and I got a "Index type SPATIAL is not supported by the engine 'LUCENE'."
You should note that all other lists (sources, files, pictograms, etc.) keep working fine.
I did not find a way to read Segrada logs, so I cannot post them here yet.
Help?
It would be great if it was possible to import data to Segrada.
i.e. Node Lists from CSV (Locations, Places, People, Documents, etc) and whole networks from a Network Graph format.
CSV and one common Network Graph format like graphML or Gefx would be more than enough....
It's a lot easier to write descriptions and Notes in Segrada than in i.e. Gephi or Cytoscape (or in a spreadsheet), but it would be great to import data that is already collected...
It would be nice if there was a tag filter for graph elements. I.e. so one could selectively show/hide nodes and links by (de-)selecting tags.
The arrow head of an edge is covering part of a nodes label text when the edge cross the label.
The edge and arrow heads should be layered under the nodes labels, not over them, it looks very messy when you start to get a lot of edges to a node.
In addition so will any arrow heads pointing to other nodes in the near neighbor area also cover other nodes labels (this has something to do with the length of the edge, if there is some length to a nodes label, the distance between edges can be somewhat short, and both the arrow head of edges and the label of other nodes will cover the labels of other nodes.
Same happens with the labels of edges.
Regarding labels of edges I think it would be cleaner if the label followed the edge instead of being horizontal.
Here is a screenshot of a small graph, showing most of the problems..
Edit location:
OrientDb gives a 401 unauthorized ; invalid username & password error.
Add missing delete button to detail view.
It would be great if it could be possible to get synonyms on TAGS...
It could be i.e. to be able to add tag names in different languages, or when multiple words can mean the same thing...
It would be of great benefits when using tag hierarchy, not having multiple sub hierarchies (i.e. for languages) with the same meaning...
Auto complete function does not show all possible hits. Check and correct!
It would be great to have Custom Attributes for Nodes... where we could set important values in a structured way, instead of having those in unstructured text in the Description field...
IT would also be great if one of those Attributes was "TYPE", so that it was possible to set a type on a Node, i.e. Country, County, Person, Government Office, Document, Repository, Archive, Newspaper and so on...
Actually any description of a object that can be set in a structured data pair, should be set in attributes...
i.e. Type of Document, Type of Article, Alternative Names...
It would also be great if those Attributes could have a Date/Date Range field to them...
Reason:
Many of these Attributes could be of importance for the research of something, but not in the scope of the Research itself... It could be information that was important in a historic perspective, to find documents where a Company, Country, Office has changed name in the time period where the research span.
Not all of that information are of the type that you put in the graph/project as a Node or Relation, but its important enough to add to the object/subject, and it will be much easier to find if it is in Attribute, than if it is only unstructured text in the comment/descrition field...
I used segrada on the recommendation of a friend back in 2018/2019. I entered some data from a project and had a lot of fun playing with it.
Now I actually have some knowledge of things like Linux and some programming languages, but I can't figure out how I might export the data I've entered in some sort of table form.
Is this possible?
For example, could I somehow export a list of all my nodes?
I see for example if use the export graph method I can export a .gexf file where I can see the nodes when I open the file in a text editor. It looks like this:
<gexf xmlns="http://www.gexf.net/1.2draft" version="1.2"><nodes><node id="105-92" label="driving around Vladivostok with Chinese"></node><node id="112-36" label="Driving around looking for a lighthouse"></node><node id="107-92" label=""meiyou guihua""></node><node id="108-92" label="GUIHUA"></node><node id="106-51" label="KEY WORDS"></node><node id="109-92" label=""zhege di guihuade feichang hao.""></node><node id="110-92" label="Zhang Zong"></node><node id="108-19" label="The Farm"></node><node id="111-91" label="People's Liberation Army"></node><node id="112-89" label="Inner dialogue / incessant commentary"></node><node id="105-93" label="temptation, doubt, anger, jealousy, aversion to physical experience"></node><node id="108-17" label="Yang Jun"></node><node id="106-17" label="Qinhuangdao"></node><node id="111-15" label="Pimenov"></node><node id="111-16" label="Li Xiaolin"></node><node id="110-16" label="Russian Island Investment Project"></node><node id="107-74" label="Transcending China / Chineseness"></node>
So it seems there must be a way to somehow export all the nodes I have.
So far, I have zero joy from using orientdb to look at my data.
TL;DR: I tried segrada a while back and would now like to resume the project by somehow exporting my data in a readable form back out from segrada.
Thanks for any help!
Create user groups - basic building block of ACLs. Also implement basic ACLs.
Add geographic shapes to maps: lines and polygons.
Fresh start of database will show the following error in the browser:
HTTP ERROR 500
Problem accessing /. Reason:
Server Error
Caused by:
javax.servlet.ServletException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at net.sf.ehcache.constructs.web.filter.Filter.logThrowable(Filter.java:143)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1621)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:541)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1584)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1228)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:481)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1553)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1130)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:564)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:318)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:112)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.Invocable.invokePreferred(Invocable.java:122)
at org.eclipse.jetty.util.thread.strategy.ExecutingExecutionStrategy.invoke(ExecutingExecutionStrategy.java:58)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:201)
at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:133)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:672)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:590)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at org.segrada.servlet.OrientDBFilter.docToUserGroup(OrientDBFilter.java:224)
at org.segrada.servlet.OrientDBFilter.docToUser(OrientDBFilter.java:196)
at org.segrada.servlet.OrientDBFilter.doFilter(OrientDBFilter.java:137)
at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPage(CachingFilter.java:302)
at org.segrada.servlet.SegradaSimplePageCachingFilter.doFilter(SegradaSimplePageCachingFilter.java:89)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
... 28 more
Implement the possibility to add anonymous user access. View only, no touch.
Tested in v0.5.5
Steps to reproduce:
institution
political party
with parent tag the institution
tag.political party
tagpolitical party
tag and select 'add dependencies'Add possibility for the user to see own profile and edit it (at least change pw).
It would be nice if segrada could support data entry in non-latin characters for entities.
Whenever user types a non-latin character string, save fails and receives a message:
ERROR org.segrada.service.repository.orientdb.base.AbstractOrientDbRepository - Exception thrown while saving entity.
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.StringIndexOutOfBoundsException: String index out of range: 0
System configuration:
MacOS 10.14.6
Segrada 0.2.8
Just wondering if the project are dead/depricated?
from source [[article:Procurement Nadir: India Howitzer Competitions]]
does not show full tittle & turn to link
I want to start by saying that I think Sagrada is an amazing software, that could be helpful in many ways!
I'd like to report an issue I found in the "List Nodes" window...
Steps to repro:
There is of course the "Reset" link that is doing the job, but I think that emptying the "Tags"
field should have the same effect.
Thank you!
Mihai
The error looks to be the same as #41 -- I'm using the built version available from the website: https://segrada.org/fileadmin/downloads/Segrada.tar.gz -- not sure which version this is.
Java/openjdk installed via brew: brew cask install java
[Segrada]$ java -version
openjdk version "11.0.2" 2019-01-15
OpenJDK Runtime Environment 18.9 (build 11.0.2+9)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+9, mixed mode)
Fresh install, ran via ./start_mac.command -- viewing via localhost:8080
The first viewing gave me a broken page, like HTML was there but none of the styles were being loaded. Errors like this in console:
68863 [qtp1509060235-45] WARN org.eclipse.jetty.server.HttpChannel - /css/vis.css
javax.servlet.ServletException: java.lang.ClassCastException: class java.util.regex.Matcher$ImmutableMatchResult cannot be cast to class java.util.regex.Matcher (java.util.regex.Matcher$ImmutableMatchResult and java.util.regex.Matcher are in module java.base of loader 'bootstrap')
Refreshing the page would then cause a 500 error with this on the page:
Caused by:
java.lang.ClassCastException: class java.util.regex.Matcher$ImmutableMatchResult cannot be cast to class java.util.regex.Matcher (java.util.regex.Matcher$ImmutableMatchResult and java.util.regex.Matcher are in module java.base of loader 'bootstrap')
at org.segrada.servlet.SegradaSimplePageCachingFilter.calculateKey(SegradaSimplePageCachingFilter.java:123)
at net.sf.ehcache.constructs.web.filter.CachingFilter.buildPageInfo(CachingFilter.java:238)
at net.sf.ehcache.constructs.web.filter.CachingFilter.doFilter(CachingFilter.java:216)
at org.segrada.servlet.SegradaSimplePageCachingFilter.doFilter(SegradaSimplePageCachingFilter.java:95)
at net.sf.ehcache.constructs.web.filter.Filter.doFilter(Filter.java:86)
at org.segrada.servlet.CSRFFilter.doFilter(CSRFFilter.java:68)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:530)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
at java.base/java.lang.Thread.run(Thread.java:834)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.