{"id":38462954,"url":"https://github.com/sciruby/publisci","last_synced_at":"2026-01-17T09:01:04.804Z","repository":{"id":66246485,"uuid":"13528965","full_name":"SciRuby/publisci","owner":"SciRuby","description":"A toolkit for publishing scientific results to the semantic web","archived":false,"fork":true,"pushed_at":"2013-10-27T00:06:15.000Z","size":906,"stargazers_count":6,"open_issues_count":12,"forks_count":3,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-22T06:01:45.690Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"gsocsemantic.wordpress.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"wstrinz/publisci","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SciRuby.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-10-12T21:03:31.000Z","updated_at":"2024-02-09T14:07:04.000Z","dependencies_parsed_at":"2023-02-20T01:00:43.130Z","dependency_job_id":null,"html_url":"https://github.com/SciRuby/publisci","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"purl":"pkg:github/SciRuby/publisci","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciRuby%2Fpublisci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciRuby%2Fpublisci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciRuby%2Fpublisci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciRuby%2Fpublisci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SciRuby","download_url":"https://codeload.github.com/SciRuby/publisci/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SciRuby%2Fpublisci/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28504596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T06:57:29.758Z","status":"ssl_error","status_checked_at":"2026-01-17T06:56:03.931Z","response_time":85,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T05:00:28.963Z","updated_at":"2026-01-17T09:01:04.744Z","avatar_url":"https://github.com/SciRuby.png","language":"Ruby","funding_links":[],"categories":["Scientific"],"sub_categories":[],"readme":"# PubliSci\n\n[![Build Status](https://travis-ci.org/wstrinz/publisci.png?branch=master)](https://travis-ci.org/wstrinz/publisci)\n\nNote: this software is under active development! Until it hits v 1.0.0, the overall API and usage pattern is subject to change.\n\n## Installation\n\n```sh\ngem install publisci\n```\n\n## Usage\n\n#### DSL\n\nMost of the gem's functions can be accessed through its DSL\n\n```ruby\nrequire 'publisci'\ninclude PubliSci::DSL\n\n# Specify input data\ndata do\n  # use local or remote paths\n  source 'https://github.com/wstrinz/publisci/raw/master/spec/csv/bacon.csv'\n\n  # specify datacube properties\n  dimension 'producer', 'pricerange'\n  measure 'chunkiness'\n\n  # set parser specific options\n  option 'label_column', 'producer'\nend\n\n# Describe dataset\nmetadata do\n  dataset 'bacon'\n  title 'Bacon dataset'\n  creator 'Will Strinz'\n  description 'some data about bacon'\n  date '1-10-2010'\nend\n\n# Send output to an RDF::Repository\n#  can also use 'generate_n3' to output a turtle string\nrepo = to_repository\n\n# run SPARQL queries on the dataset\nPubliSci::QueryHelper.execute('select * where {?s ?p ?o} limit 5', repo)\n\n# export in other formats\nPubliSci::Writers::ARFF.new.from_store(repo)\n```\n\n\n#### Gem executable\n\nRunning the gem using the `publisci` executable will attempt to find and run\nan triplifier for your input.\n\nFor example, the following\n\n```sh\npublisci https://github.com/wstrinz/publisci/raw/master/spec/csv/bacon.csv\n```\n\nIs equivalent to the DSL code\n\n```ruby\nrequire 'publisci'\ninclude PubliSci::DSL\n\ndata do\n  source 'https://github.com/wstrinz/publisci/raw/master/spec/csv/bacon.csv'\nend\n\ngenerate_n3\n```\n\nThe API doc is online. For more code examples see the test files in\nthe source tree.\n\n### Custom Parsers\n\nBuilding a parser simply requires you to implement a `generate_n3` method, either at the class or instance level. Then register it using `Publisci::Dataset.register_reader(extension, class)` using your reader's preferred file extension and its class. This way, if you call the `Dataset.for` method on a file with the given extension it will use your reader class.\n\nIncluding or extending the `Publisci::Readers::Base` will give you access to many helpful methods for creating a triplifying your data. There is a post on the [project blog](http://gsocsemantic.wordpress.com/2013/08/31/parsing-with-publisci-how-to-get-your-data-into-the-semantic-web/) with further details about how to design and implement a parser.\n\nThe interface is in the process of being more rigdly defined to separate parsing, generation, and output, and it is advisable to you make your parsing code as stateless as possible for better handling of large inputs. Pull requests with parsers for new formats are greatly appreciated however!\n\n## Project home page\n\nInformation on the source tree, documentation, examples, issues and\nhow to contribute, see\n\n  http://github.com/wstrinz/publisci\n\nThe BioRuby community is on IRC server: irc.freenode.org, channel: #bioruby.\n\n## Cite\n\nIf you use this software, please cite\n\n* [The Ruby Science Foundation. 2013. SciRuby: Tools for scientific computing in Ruby. http://sciruby.com.](http://sciruby.com)\n\nand one of\n\n* [BioRuby: bioinformatics software for the Ruby programming language](http://dx.doi.org/10.1093/bioinformatics/btq475)\n* [Biogem: an effective tool-based approach for scaling up open source software development in bioinformatics](http://dx.doi.org/10.1093/bioinformatics/bts080)\n\n## Biogems.info\n\nThis Biogem is published at (http://biogems.info/index.html#publisci)\n\n## Copyright\n\nCopyright (c) 2013 wstrinz. See LICENSE.txt for further details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciruby%2Fpublisci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsciruby%2Fpublisci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsciruby%2Fpublisci/lists"}