Can Apache Jena be horizontally scaled? - scalability

We are looking at using Apache Jena (with Fuseki and maybe SPARQLER) for a knowledge management project.
Can Jena - or its triple storage engine - be run on multiple servers to let it horizontally scale?
If it can, please provide a link to an installation guide in your answer (academic papers seem plentiful in this domain, while practical guides seem scarce).

Fuseki+TDB doesn't currently (Nov 2016) provide for horizontal scale with update. There have been reports of systems that have built a horizontally scaling solution. They do this by coordinating the updates from staging server and being a publishing (read-only) to the external clients.
(If you want details and discussion, then the Jena user mailing list is probably more likely to reach such users)

Related

ROS/ROS2 for multi agent system

Does anybody know how to use ROS/ROS2 for the multi-agent system? I know there are other software for multi agent, but I heard that ROS is suitable for this. Does anybody know the specific ideas?
ROS is a middleware framework for creating a distributed system of nodes based on the publish/subscribe methodology. It can certainly be used for a multi-agent system. You should read through the ros wiki. It has a lot of great info and is a very easy way to start learning the ideas.
we're currently working on a BDI framework for ROS2 targeting Multi Agent Systems (MAS), thus facilitating its development. Repository is here and user's documentation here. The plans are dynamically computed via a PDDL 2.1 based planning system (which is PlanSys2). It's still under development, so there can be bugs here and there. We're currently try to solve them and then the idea is to lean toward a more flexible reasoning behaviour, while keeping in consideration real time constraints and/or computational feasibility of the plan execution.
If that might fulfill your needs, give it a look and share your feedback!

What are keys differences between OpenTracing and Zipkin?

I am looking into distribution tracing tools.
Found there two very popular.
OpenTracing - https://opentracing.io/
Zipkin - https://zipkin.io/
What are key differences between them ?
Which one would you recommend ?
Will you recommend other open source distributed tracking tool ?
Getting a handle on the distributed tracing space can be a bit confusing. Here's a quick summary...
Open Source Tracers
There are a number of popular open source tracers, which is where Zipkin sits:
Zipkin
Jaeger
Haystack
Commercial Tracers
There are also a lot of vendors offering commercial monitoring/observability tools which are either centred around or include distributed tracing:
Appdynamics
AWS X-Ray
Azure Application Insights
Datadog
Dynatrace
Google Cloud Trace
Honeycomb
Lightstep
New Relic
SignalFX
(probably 100 more...)
Standardisation Efforts
Alongside all these products are numerous attempts at creating standards around distributed tracing. These typically start by creating a standard API for the trace-recording side of the architecture, and sometimes extend to become prescriptive about the content of traces or even the wire format. This is where OpenTracing fits in. So it is not a tracing solution itself, but an API that can be implemented by the trace recording SDKs of multiple tracers, allowing you to swap between vendors more easily. The most common standards are:
OpenTracing
OpenCensus
OpenTelemetry
Note that the first two in the list have been abandoned, with their contributors joining forces to create the third one together.[1]
[1] https://opensource.googleblog.com/2019/05/opentelemetry-merger-of-opencensus-and.html

GIS library for ASP.net MVC

I am trying to develop an ASP.net MVC website in which I need to show a map (whole world) with several markers and additional information for every marker.
Does anyone know a good library that would support that and which (if possible) also lets me use "offline" maps stored on my own server (open street maps for example).
It will be an intranet application which means in case of google/bing yearly license costs would have to be paid. The customer doesn't want that, but in general the library can be commercial (one-time per server and/or developer fee).
I already had a look at "ThinkGeo Map Suite", any other suggestions or recommendations.
SharpMap, it's flexible and easy to implement, can use with shapes or from spacial db.
for details... http://sharpmap.codeplex.com/
there is a couple examples who does exactly what you need, so can start from these
exist other libraries but I don't try it, research for another options.
Answer
Manifold is a very cheap system which has an basic internet map server framework:
http://www.manifold.net/info/ims.shtml
You already suggested ThinkGeo, I would put it in the same basket as Manifold. Be sure to evaluate performance and limitations with both packages.
Discussion
You'd be hard pressed to find a pure NET library for mapping that works well and won't blow out your budget (see ESRI). Depending on your skill level and your knowledge of GIS systems, I would suggest creating your own web map server and just embed it in your web application.
Some good environments for this which I can recommend are:
MapServer
GeoServer
As far as displaying and interacting with the map, there are several web based platforms available:
GIS SDKs For Web Apps

grails, drools, and ticket / issue trackers, iTicket

I need to integrate a ticketing system into my grails Web application, so that those running the small company can easily handle customer needs / complaints, etc., tying that in directly with their users. When I searched for a plugin or built application, I found:
drools plugin, small ticketing capability/example, which after having an installation bug led me to
drools-gorm plugin, and then also briefly reviewing
iTicket, which I'm just currently shying away from because of its inclusion of roles management but no mention of Spring Security Core and UI, which is what I'm using for role management
article on building a small issue tracker with Grails
I don't have a lot of problem domain knowledge with ticketing systems, and so I'm wondering if someone whose gone down this road before or knows ticketing system domain modelling & rules engines in general can give a few comments. E.g. are flexible rules engines very important for ticketing systems, or is this only for heavier weight applications? What kinds of other general things can one do with grails plus drools, that might be useful? Alternatively, the opposite, is staying light weight best, because these things often turn out to be very "custom" in this arena.
Your experience is appreciated.
Thanks

Neo4j Standalone vs Embedded server?

I want to know what is the difference between these two implementations of neo4j. Of-course names of both techniques is self-explanatory,but still what are the main differences?
What factors should be considered in deciding which technique to use in the project?
Pros and cons.
P.S. Sorry if it is a repeat question but I searched and was not able to find any ques which answers my question.
Because the standalone server is built on the embedded server, the general rule of thumb is that the embedded server is more capable and has (obviously) lower latency. Either can operate in High-Availability mode, allow monitoring, and even accept connections from the neo4j-shell. With the server though, you get more functionality out-of-the-box, like remoting, basic visualization, monitoring interface, etc.
The differences are otherwise the practical ones you'd imagine. Choosing a deployment approach is influenced by two things:
Language - embedded mode requires that you're implementing your application with a JVM compatible language. The server supports any language/framework that can send HTTP requests.
Hardware - sharing physical resources between your application and Neo4j can be demanding. Scaling may argue for a dedicated machine to split out the persistence layer. The server obviously has a remote API to support segmenting your application.
It's otherwise difficult to give guidance without a specific usage scenario. Deploying into an existing Service Oriented Architecture? Probably server. Running on an copier machine? Go embedded. From scratch web application? What's the rest of your stack?

Resources