Coder Social home page Coder Social logo

jris's Introduction

JRis

JRis is a Java implementation of RIS Format. JRis has the goal to give an easy way to parse RIS format stream and to build them.

From Wikipiedia:

RIS is a standardized tag format developed by Research Information Systems, Incorporated (the format name refers to the company) to enable citation programs to exchange data. It is supported by a number of reference managers. Many digital libraries, like IEEE Xplore, Scopus, the ACM Portal, Scopemed, ScienceDirect, SpringerLink and Rayyan QCRI can export citations in this format. Major reference/citation manager applications, like Zotero, Mendeley, and EndNote can export and import citations in this format.

Usage example

The following examples inlustrates how to use JRis to parse and to build RIS format stream.

  • To parse a RIS stream you could use one of the Jris.parse() methods. Each one accepts as argument a different type of Reader, and will return a List<Record> of records. Each record is a single RIS element parsed from the stream.
  • To build a RIS stream you could use one of the Jris.build() methods. Each one accepts as arguments a List<Record> from which the RIS stream will be generated and a different type of Writer in which the stream will be write.

jris's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

jris's Issues

Deploying to Bintray

Hi @fastluca!

this is somehow related to #6. I need to use JRis as a maven dependency and just uploaded my fork to a private repository I made quickly on Bintray. It does not take long (10-15 minutes). master...miguelalba:master

If you are interested, we could setup an official Bintray repo for JRis and I would remove mine.

Best,
Miguel

Additional contribution

Hi @fastluca

As JRis is not published to maven central or bintray, I started my task of exporting a RIS file by copying your classes into my project. As I had slightly different use cases and am in the process of converting my project to kotlin, I started shaping your classes according to my requirements. That's also how I stumbled upon the small issues you just merged in #5. My goal is to eventually remove the copied (and modofied) classes and ideally pull in JRis through gradle dependencies.

The question now is, whether the additional changes I did in my copy of JRis are of interest to you. If so, I could provide a few pull requests. However, first I need to know if you like the direction I took so far.

Some of the major transformations I'm doing:

  • conversion to kotlin
  • have JRis not directly read or write files but work on collections providing the content (I'm using apache wicket and have the user download the file content via the browser).
  • I replaced reflection with lambdas for setting/retrieving the data into/from the record.

If you'd like to have a look at the current state, you could check out ursjoss/scipamato#126

Alternative options to feeding back some or all of your changes into your repo would be to

  • keep the modified copies in my project and completely detach it from your official JRis
  • create a fork of JRis and maybe name it KRis (for kotlin).
  • ...

Let me know if and how you'd like to proceed with this.

Project License

Hi Gianluca

I'm currently looking into generating exports in RIS format and found your project.

You did not specify a license for JRis. Would you care to add one?

Thanks and cheers
Urs

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.