Uploaded image for project: 'Help-Desk'
  1. Help-Desk
  2. HELP-14879

[Fiware-tech-help] Question about graphical interface : Neo4J Cygnus sink

    Details

    • Type: extRequest
    • Status: Closed
    • Priority: Major
    • Resolution: Done
    • Fix Version/s: 2021
    • Component/s: FIWARE-TECH-HELP
    • Labels:
      None

      Description

      To Whom It May Concern,

      I'm realizing a platform based on Fiware that contained these services:
      -Context Orion Broker
      -MongoDB
      -Iot_agent-ul
      -Cygnus
      -mySQL DB for persistence of data

      I see that there are different solution to apply a graphical interface within Fiware, but my idea is to use the db neo4j (because I need of a interface based on graph).

      is it possible to insert neo4j directly into fiware?

      Otherwise I thought to use a script that interrogates mongoDB (through the COB) and reload from time to time the data on neo4j (that in this case is implemented outside the Fiware platform).

      Thanking you in advance...

      Yours faithfully,

      Giovanni

      __________________________________________________________________________________________

      You can get more information about our cookies and privacy policies on the following links:

      Fiware-tech-help mailing list
      Fiware-tech-help@lists.fiware.org
      https://lists.fiware.org/listinfo/fiware-tech-help

      [Created via e-mail received from: Giovanni.VAGLICA@ec.europa.eu]

        Activity

        Hide
        jmcantera Jose Manuel Cantera added a comment - - edited

        I think it could be a good idea to develop a Cygnus Sink to Neo4J. Cygnus has recently changed their architecture to use Apache NiFI

        The Cygnus team (GING) can help you in giving some hints on how to develop a new Sink for Neo4J.

        Thanks

        Show
        jmcantera Jose Manuel Cantera added a comment - - edited I think it could be a good idea to develop a Cygnus Sink to Neo4J. Cygnus has recently changed their architecture to use Apache NiFI The Cygnus team (GING) can help you in giving some hints on how to develop a new Sink for Neo4J. Thanks
        Hide
        andres.munoza Andres Muñoz added a comment -

        HI Giovanni,

        Currently, Cygnus doesn't support Neo4J as storage service, we have a roadmap for including some other stores systems as processors in the new version of Cygnus v2.0.0 (https://fiware-cygnus-ld.readthedocs.io/en/latest/). However Neo4J was not considered for being implemented yet, but we can add in the future (low priority). On the other hand, I have been trying to work with new Cygnus (based on NiFi ) and Neo4J and I found some external resources for doing this integration. @jonathantelfer provides a neo4j processor and controller for NiFi (https://github.com/jonathantelfer/nifi-neo4j) and you can add this code only putting the nar file inside of your Cygnus lib directory but this is generic processor so you have to use other processors for manage the NGSI notification that you receive for the Context Broker. This approach force you to use many processors and the flow will be more or less as follows:
        1) Configure your Neo4J controller (available after your put the jonathantelfer's nar inside of the Cygus lib directory)
        2) For receiving the notifications of the context broker you need to add a Listen Http Processor configured for receiving the NGSi notification. In Cygnus version, you can use the Orion-to-Mysql template with the preconfigured Listen HTTP processor
        3)Use EvaluateJsonPath processor for getting the data[0] element of your notification.
        4)Use another EvaluateJsonPath for adding each element of your entity as flow file attribute
        5)Use Put Cypher for writing your NGSI notification inside of your Neo4J database

        This figure shows more or less the processor that you need

        This procedure is a little complex but works.

        Another approach is building your own NGSIToNeo4j processor and controller and contribute to the Cygnus GE of the FIWARE community. For doing so, you also need to follow the same process described above, but with other considerations. If you are interested in developing this processor please create a thread in the Cygnus Github repo (https://github.com/ging/fiware-cygnus) and I will plan that.

        Show
        andres.munoza Andres Muñoz added a comment - HI Giovanni, Currently, Cygnus doesn't support Neo4J as storage service, we have a roadmap for including some other stores systems as processors in the new version of Cygnus v2.0.0 ( https://fiware-cygnus-ld.readthedocs.io/en/latest/ ). However Neo4J was not considered for being implemented yet, but we can add in the future (low priority). On the other hand, I have been trying to work with new Cygnus (based on NiFi ) and Neo4J and I found some external resources for doing this integration. @jonathantelfer provides a neo4j processor and controller for NiFi ( https://github.com/jonathantelfer/nifi-neo4j ) and you can add this code only putting the nar file inside of your Cygnus lib directory but this is generic processor so you have to use other processors for manage the NGSI notification that you receive for the Context Broker. This approach force you to use many processors and the flow will be more or less as follows: 1) Configure your Neo4J controller (available after your put the jonathantelfer's nar inside of the Cygus lib directory) 2) For receiving the notifications of the context broker you need to add a Listen Http Processor configured for receiving the NGSi notification. In Cygnus version, you can use the Orion-to-Mysql template with the preconfigured Listen HTTP processor 3)Use EvaluateJsonPath processor for getting the data [0] element of your notification. 4)Use another EvaluateJsonPath for adding each element of your entity as flow file attribute 5)Use Put Cypher for writing your NGSI notification inside of your Neo4J database This figure shows more or less the processor that you need This procedure is a little complex but works. Another approach is building your own NGSIToNeo4j processor and controller and contribute to the Cygnus GE of the FIWARE community. For doing so, you also need to follow the same process described above, but with other considerations. If you are interested in developing this processor please create a thread in the Cygnus Github repo ( https://github.com/ging/fiware-cygnus ) and I will plan that.
        Hide
        fla Fernando Lopez added a comment -

        The issue has been emailed:

        • Time sent: 19/Dec/18 6:08 PM
        • To: Giovanni.VAGLICA@ec.europa.eu
        • with subject: *(HELP-14879) [Fiware-tech-help] Question about graphical interface : Neo4J Cygnus sink *

        HI Giovanni,

        Currently, Cygnus doesn't support Neo4J as storage service, we have a roadmap for including some other stores systems as processors in the new version of Cygnus v2.0.0 (https://fiware-cygnus-ld.readthedocs.io/en/latest/). However Neo4J was not considered for being implemented yet, but we can add in the future (low priority). On the other hand, I have been trying to work with new Cygnus (based on NiFi ) and Neo4J and I found some external resources for doing this integration. @jonathantelfer provides a neo4j processor and controller for NiFi (https://github.com/jonathantelfer/nifi-neo4j) and you can add this code only putting the nar file inside of your Cygnus lib directory but this is generic processor so you have to use other processors for manage the NGSI notification that you receive for the Context Broker. This approach force you to use many processors and the flow will be more or less as follows:
        1) Configure your Neo4J controller (available after your put the jonathantelfer's nar inside of the Cygus lib directory)
        2) For receiving the notifications of the context broker you need to add a Listen Http Processor configured for receiving the NGSi notification. In Cygnus version, you can use the Orion-to-Mysql template with the preconfigured Listen HTTP processor
        3)Use EvaluateJsonPath processor for getting the data[0] element of your notification.
        4)Use another EvaluateJsonPath for adding each element of your entity as flow file attribute
        5)Use Put Cypher for writing your NGSI notification inside of your Neo4J database

        This figure shows more or less the processor that you need

        This procedure is a little complex but works.

        Another approach is building your own NGSIToNeo4j processor and controller and contribute to the Cygnus GE of the FIWARE community. For doing so, you also need to follow the same process described above, but with other considerations. If you are interested in developing this processor please create a thread in the Cygnus Github repo (https://github.com/ging/fiware-cygnus) and I will plan that.

        Show
        fla Fernando Lopez added a comment - The issue has been emailed: Time sent: 19/Dec/18 6:08 PM To: Giovanni.VAGLICA@ec.europa.eu with subject: *( HELP-14879 ) [Fiware-tech-help] Question about graphical interface : Neo4J Cygnus sink * HI Giovanni, Currently, Cygnus doesn't support Neo4J as storage service, we have a roadmap for including some other stores systems as processors in the new version of Cygnus v2.0.0 ( https://fiware-cygnus-ld.readthedocs.io/en/latest/ ). However Neo4J was not considered for being implemented yet, but we can add in the future (low priority). On the other hand, I have been trying to work with new Cygnus (based on NiFi ) and Neo4J and I found some external resources for doing this integration. @jonathantelfer provides a neo4j processor and controller for NiFi ( https://github.com/jonathantelfer/nifi-neo4j ) and you can add this code only putting the nar file inside of your Cygnus lib directory but this is generic processor so you have to use other processors for manage the NGSI notification that you receive for the Context Broker. This approach force you to use many processors and the flow will be more or less as follows: 1) Configure your Neo4J controller (available after your put the jonathantelfer's nar inside of the Cygus lib directory) 2) For receiving the notifications of the context broker you need to add a Listen Http Processor configured for receiving the NGSi notification. In Cygnus version, you can use the Orion-to-Mysql template with the preconfigured Listen HTTP processor 3)Use EvaluateJsonPath processor for getting the data [0] element of your notification. 4)Use another EvaluateJsonPath for adding each element of your entity as flow file attribute 5)Use Put Cypher for writing your NGSI notification inside of your Neo4J database This figure shows more or less the processor that you need This procedure is a little complex but works. Another approach is building your own NGSIToNeo4j processor and controller and contribute to the Cygnus GE of the FIWARE community. For doing so, you also need to follow the same process described above, but with other considerations. If you are interested in developing this processor please create a thread in the Cygnus Github repo ( https://github.com/ging/fiware-cygnus ) and I will plan that.

          People

          • Assignee:
            andres.munoza Andres Muñoz
            Reporter:
            fw.ext.user FW External User
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: