Apache Jena
  1. Apache Jena
  2. JENA-215

Can Jena be used with NOSQL databases?

    Details

    • Type: Question Question
    • Status: Closed
    • Priority: Major Major
    • Resolution: Not a Problem
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: SDB, TDB
    • Labels:
    • Environment:

      OrientDB, MongoDB etc.

      Description

      I see that Jena supports many relational/sql databases to be used as RDF stores, through SDB, RDB.
      And it doesn't support NOSQL databases like MongoDB, OrientDB & many others like them.

      I am wondering where I could start, to integrate OrientDb with Jena! Should I start with downloading SDB docs and sources?
      what would be the important things to look at?

        Issue Links

          Activity

          Rajeev B created issue -
          Hide
          AIME added a comment -

          Hi,
          I don't know if that can help you, by I developp a SDB connector for SyBase database (https://issues.apache.org/jira/browse/JENA-185).

          Good luck,

          Show
          AIME added a comment - Hi, I don't know if that can help you, by I developp a SDB connector for SyBase database ( https://issues.apache.org/jira/browse/JENA-185 ). Good luck,
          Hide
          Andy Seaborne added a comment -

          It would be interesting to see this done.

          I have a very quick look at OrientDB.

          Personally, I'd step back from asking how to map SDB or anything else to OreintDb but to first think about how the unique features of OrientDB can be best used to store RDF. With an general sense of what the design is, looking at what existing bits and pieces provides is easier.

          Specifically to the SDB point:

          SDB translates parts of SPARQL queries to SQL. The SQL uses joins (for basic graph patterns) and leftjoin (or optional). So in lookign at OrientDB Iooked for joins given it calls itself a NoSQL database. The document suggests it's support for SQL is really that here is an SQL-like language for access to one table at a time.

          The syntax is:

          SELECT [<Projections>] FROM <Target> [WHERE <Condition>*] [ORDER BY <Fields>* [ASC|DESC]*] [LIMIT <MaxRecords>]

          FROM <target> means no joins. In (full) SQL, that would be a list of tables.

          That's not to say that OrientDB is unsuitable - just that expecting it to act as a specific engine for SQL may not be quite so straight forward.

          Maybe TDB is a better starting point using OrientDB embedded. OreintDB may be an excellent indexing engine for either RDF stored verbosely (i.e. a layout of string, string, string for SPO even though it repeats strings) or RDF mapped to nodeid and a node table (normalized) , which is what TDB does.

          Show
          Andy Seaborne added a comment - It would be interesting to see this done. I have a very quick look at OrientDB. Personally, I'd step back from asking how to map SDB or anything else to OreintDb but to first think about how the unique features of OrientDB can be best used to store RDF. With an general sense of what the design is, looking at what existing bits and pieces provides is easier. Specifically to the SDB point: SDB translates parts of SPARQL queries to SQL. The SQL uses joins (for basic graph patterns) and leftjoin (or optional). So in lookign at OrientDB Iooked for joins given it calls itself a NoSQL database. The document suggests it's support for SQL is really that here is an SQL-like language for access to one table at a time. The syntax is: SELECT [<Projections>] FROM <Target> [WHERE <Condition>*] [ORDER BY <Fields>* [ASC|DESC] *] [LIMIT <MaxRecords>] FROM <target> means no joins. In (full) SQL, that would be a list of tables. That's not to say that OrientDB is unsuitable - just that expecting it to act as a specific engine for SQL may not be quite so straight forward. Maybe TDB is a better starting point using OrientDB embedded. OreintDB may be an excellent indexing engine for either RDF stored verbosely (i.e. a layout of string, string, string for SPO even though it repeats strings) or RDF mapped to nodeid and a node table (normalized) , which is what TDB does.
          Paolo Castagna made changes -
          Field Original Value New Value
          Link This issue relates to JENA-185 [ JENA-185 ]
          Hide
          Andy Seaborne added a comment -

          This was a question, now answered.

          If a contribution arrives for an adapter to a NoSQL DB, please opne a separate JIRA item.

          Show
          Andy Seaborne added a comment - This was a question, now answered. If a contribution arrives for an adapter to a NoSQL DB, please opne a separate JIRA item.
          Andy Seaborne made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Not A Problem [ 8 ]
          Andy Seaborne made changes -
          Status Resolved [ 5 ] Closed [ 6 ]

            People

            • Assignee:
              Unassigned
              Reporter:
              Rajeev B
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development