> For the complete documentation index, see [llms.txt](https://virtualfactory.gitbook.io/vlft/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://virtualfactory.gitbook.io/vlft/kb/instantiation/datarepo/remote.md).

# Remote Repository

Remote repositories are typically installed on servers. In most cases, a remote repository can be made operational also locally by [running a localhost](/vlft/kb/instantiation/datarepo/local.md#localhost).&#x20;

## RDF store

Commercial and non-commercial RDF stores, also named Triplestores, are available, e.g. Stardog, Apache Jena Fuseki, Virtuoso.&#x20;

RDF stores are typically structured into Datasets/Databases.

#### Apache Jena Fuseki

[Apache Jena Fuseki](https://jena.apache.org/documentation/fuseki2/) is a SPARQL server that can run as an operating system service, as a Java web application (WAR file), or as a standalone server.

After downloading and unzipping [Apache Jena Fuseki .zip file](https://jena.apache.org/download/), the simplest way to run Fuseki as a Standalone Server by executing `fuseki-server` from the command prompt (or launching `fuseki-server.bat` in Windows).

The default location of a Fuseki server installation is <http://localhost:3030>

A demo Fuseki SPARQL Endpoint with a Dataset named "VLFT" is available [here](https://difactory.github.io/DF/tools/fuseki.html).

## Online repository for binary/text files

[GitHub ](https://github.com/)repositories can be exploited to store binary files (e.g. [3D models](/vlft/kb/instantiation/3d-models.md), [animation sequences](/vlft/kb/instantiation/animations.md#animation-sequence)) and make them available via secure HTTP connections.

1. After your [GitHub registration](https://github.com/join), you can [create a new repository](https://docs.github.com/en/github/getting-started-with-github/create-a-repo) as "Public".&#x20;
2. Upload binary files to the repository ("Add file", "Upload files") and "Commit changes", creating the repository directories that you prefer.

A couple of examples:

* repository <https://github.com/KhronosGroup/glTF-Sample-Models> with file [2.0/WaterBottle/glTF-Binary/WaterBottle.glb](https://github.com/KhronosGroup/glTF-Sample-Models/blob/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb)
* repository <https://github.com/difactory/repository> with file [example\_1.json](https://github.com/difactory/repository/blob/main/scenes/ex/example_1.json)&#x20;

#### Option 1

Each file in the repository can be directly retrieved with a URL structured as `https://raw.githubusercontent.com/$User/$Repository/$Branch/$LocalFilePath` where `$User` is the registered GitHub user, `$Repository` is the chosen name of the repository, `$Branch` is the selected versioning branch (e.g. "main"), and `$LocalFilePath` is the local of the file in the repository. The example files are available at these URLs:&#x20;

* <https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/WaterBottle/glTF-Binary/WaterBottle.glb>
* <https://raw.githubusercontent.com/difactory/repository/main/scenes/ex/example_1.json>

#### Option 2

For a given GitHub repository it is possible to activate the [GitHub Pages](https://pages.github.com/) option ("Project site") that turns the repository into a website. The second example file is available at this URL:

* [https://difactory.github.io/repository/scenes/examples/example\_1.json](https://difactory.github.io/repository/scenes/ex/example_1.json)
