Skip to content

Commit

Permalink
Changed BlazeGraph to Virtuoso Open Source; editorial improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
dbooth-boston committed Sep 21, 2022
1 parent 1aae39f commit 8163610
Showing 1 changed file with 32 additions and 31 deletions.
63 changes: 32 additions & 31 deletions RDF-LAMP.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,47 @@
# RDF-LAMP

This page is for curating a list of free and open source tools --
analogous to the [LAMP stack](https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29) --
that a new RDF user can easily download and use to build a "typical" RDF
application. The list is not intended to be exhaustive. (See [Awesome Semantic Web](https://github.com/semantalytics/awesome-semantic-web) for a broader list.) Rather it is intended to be a starting point: to include only those tools that would be needed by _most_ RDF applications.
The hope is to eventually bundle these tools into a single, common download, analogous to Red Hat or Ubuntu.
This page is for curating a list of free and open source tools -- analogous to the [LAMP stack](https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29) -- that a new RDF user can easily download and use to build a "typical" RDF application. The list is not intended to be exhaustive. (See [Awesome Semantic Web](https://github.com/semantalytics/awesome-semantic-web) for a more comprehensive list.) Rather it is intended to be a starting point: to include only those tools that would be needed by _most_ RDF applications. The hope is to eventually bundle these tools into a single, common download, analogous to Red Hat or Ubuntu.

## Target applications
Three "typical" RDF applications are targeted:

* **Data integration.** The application must integrate data from multiple data sources having different formats and data models, including a relational database and a (plain) JSON data source. Challenges should include:
** Data model and vocabulary alignment, using inference rules or some other mechanism.
** Conversion of relational data to RDF
** Conversion of plain JSON data -- not already JSON-LD -- to RDF
** SPARQL queries
** (What else?)
* **Catalog metadata.** The application must use RDF metadata to categorize items in multiple ways, such as products in a catalog. Challenges should include:
** Use of SKOS for metadata
** Metadata originates in a spreadsheet
** SPARQL queries
** (What else?)
* **OWL for smarter queries.** The application must use OWL reasoning or other inference rules to enable smarter queries, such as queries of biomedical data. Challenges should include:
** Ontology authoring
** SPARQL queries
** (What else?)
* **Data integration.** The application must integrate data from multiple data sources having different formats and data models, including a relational database and a (plain) JSON data source.
* **Catalog metadata.** The application must use RDF metadata to categorize items in multiple ways, such as products in a catalog.
* **OWL for smarter quering.** The application must use OWL reasoning (or other inference rules) to enable smarter queries, such as queries of biomedical data.

One or more of these applications should involve the following challenges:

* Alignment of multiple data models / vocabularies / ontologies.
* Use of user-defined inference, either using an RDF rules language or whatever programming language is used to build the application.
* Conversion of relational data to RDF.
* Conversion of plain JSON data -- not already JSON-LD -- to RDF.
* Locating, understanding and visualizing public RDF data.
* SPARQL queries.
* Use of SKOS for metadata.
* Metadata vocabulary that originates in a spreadsheet.
* Conversion of RDF data:
* from RDF/XML or Turtle to Turtle or N-Triples;
* from JSON-LD or TriG to N-Quads;
* from N-Quads to human-friendly TriG, using common RDF namespace prefixes.
* SPARQL queries.
* (What else?)

**TO DO:** _Get specific examples for the above three kinds of application, with example data, and turn them into tutorials based on the below set of tools. (Can someone suggest some, complete with example data? Or suggest others?)_

## Criteria for inclusion
A candidate for inclusion in this list:
* must be [OSI-compliant free and open source software (FOSS)](https://opensource.org/), though the software may be maintained by a commercial company and other versions may not be FOSS;
## Criteria for tool inclusion
To be considered for inclusion, a candidate tool:
* must be [OSI-compliant free and open source software (FOSS)](https://opensource.org/), though the software may be maintained by a commercial company and it may also be offered under a non-FOSS license;
* must be necessary to implement at least one of the three "typical" applications listed above;
* must be powerful enough to be used for real world applications;
* must be powerful enough to be used for real world applications (in its FOSS version);
* must be actively supported and used in the RDF community;
* should run on Linux, Windows and Mac OS; and
* should represent the most popular choice of tools for what it does, without unnecessarily duplicating functionality that is provided by other tools on this list.

## Generic tools
Tools in this section are not specific to the programming language that is used to build
your RDF application.
## Tools
### Generic tools
Tools in this section are not specific to the programming language that is used to build your RDF application.

* [BlazeGraph](https://github.com/blazegraph/database)? -- Graph database
* [Virtuoso Open Source](https://github.com/openlink/virtuoso-opensource/)? -- Graph database
* [Protégé](https://protege.stanford.edu/) -- Ontology editor
* [SKOS Play](https://skos-play.sparna.fr/play/about)? -- Converts a spreadsheet taxonomy to SKOS data
* (What for RDF authoring?)
Expand All @@ -49,19 +50,19 @@ your RDF application.
* (What for writing and applying simple inference rules)
* (list others here ... )

## Java tools
### Java tools
Tools in this section are for those using Java to build RDF applications.

* [Apache Jena](https://jena.apache.org/download/index.cgi) -- Java framework and library for building RDF applications
* (list others here ... )

## JavaScript tools
### JavaScript tools
Tools in this section are for those using JavaScript to build RDF applications.

* [RDF JS](https://rdf.js.org/) -- JavaScript library for building RDF applications.
* (list others here ... )

## Python tools
### Python tools
Tools in this section are for those using Python to build RDF applications.

* [RDFLib](https://pypi.org/project/rdflib/) -- Python library for RDF applications.
Expand Down

0 comments on commit 8163610

Please sign in to comment.