Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use of Relative HTTP URIs to enhance negotiated Turtle and JSON-LD data renditions #41

Open
kidehen opened this issue Sep 1, 2020 · 1 comment

Comments

@kidehen
Copy link

kidehen commented Sep 1, 2020

Hi Peter,

Here is a tweak of the Turtle and JSON-LD that is currently generated for the KNoWS Software Page, using relative HTTP URIs.

Why is this important?
It replaces blank nodes with relative HTTP URIs that by effect provide better follow-your-nose exploration potential :)

## Turtle Start ##

@prefix : <#> . 

:b338_b1 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "A modular framework for querying Linked Data on the Web.";
    <http://schema.org/name> "Comunica".
:b338_b10 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "A Web app to create RML rules.";
    <http://schema.org/name> "RMLEditor".
:b338_b11 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "The RMLMapper executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources.";
    <http://schema.org/name> "RMLMapper".
:b338_b12 <http://usefulinc.com/ns/doap#location> "https://github.com/rmlio/rmlmapper-java";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b11.
:b338_b13 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "The RMLStreamer executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources in a streaming way.";
    <http://schema.org/name> "RMLStreamer".
:b338_b14 <http://usefulinc.com/ns/doap#location> "https://github.com/RMLio/RMLStreamer";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b13.
:b338_b15 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "A framework for writing markdown-based scholarly articles.";
    <http://schema.org/name> "ScholarMarkdown".
:b338_b16 <http://usefulinc.com/ns/doap#location> "https://github.com/rubensworks/ScholarMarkdown";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b15.
:b338_b17 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "A YARRRML parser library and CLI in Javascript";
    <http://schema.org/name> "YARRRML Parser".
:b338_b18 <http://usefulinc.com/ns/doap#location> "https://github.com/rmlio/yarrrml-parser";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b17.
:b338_b2 <http://usefulinc.com/ns/doap#location> "https://github.com/comunica/";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b1.
:b338_b3 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "Linked Data Querying with GraphQL.";
    <http://schema.org/name> "GraphQL-LD".
:b338_b4 <http://usefulinc.com/ns/doap#location> "https://github.com/rubensworks/graphql-ld.js";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b3.
:b338_b5 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "Linked Data Querying with GraphQL.";
    <http://schema.org/name> "GraphQL-LD".
:b338_b6 <http://usefulinc.com/ns/doap#location> "https://github.com/rdfostrich/ostrich";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b5.
:b338_b7 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "A Triple Pattern Fragments server for Node.js";
    <http://schema.org/name> "Linked Data Fragments Server".
:b338_b8 <http://usefulinc.com/ns/doap#location> "https://github.com/LinkedDataFragments/Server.js";
    <http://usefulinc.com/ns/doap#repositoryOf> :b338_b7.
:b338_b9 <http://schema.org/contributor> :b338_b0;
    <http://schema.org/description> "An RDF triple store that allows multiple versions of a dataset to be stored and queried at the same time.";
    <http://schema.org/name> "OSTRICH".
## Turtle End ##

And here is the same thing using JSON-LD 1.1 (which also now properly supports relative HTTP URIs).

## JSON-LD Start ##
{
    "@context": {
        "@this": "#"
    },
    "@graph": [{
            "@id": "#b338_b1",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "A modular framework for querying Linked Data on the Web."
            }],
            "http://schema.org/name": [{
                "@value": "Comunica"
            }]
        },
        {
            "@id": "#b338_b10",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "A Web app to create RML rules."
            }],
            "http://schema.org/name": [{
                "@value": "RMLEditor"
            }]
        },
        {
            "@id": "#b338_b11",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "The RMLMapper executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources."
            }],
            "http://schema.org/name": [{
                "@value": "RMLMapper"
            }]
        },
        {
            "@id": "#b338_b12",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/rmlio/rmlmapper-java"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b11"
            }]
        },
        {
            "@id": "#b338_b13",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "The RMLStreamer executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources in a streaming way."
            }],
            "http://schema.org/name": [{
                "@value": "RMLStreamer"
            }]
        },
        {
            "@id": "#b338_b14",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/RMLio/RMLStreamer"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b13"
            }]
        },
        {
            "@id": "#b338_b15",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "A framework for writing markdown-based scholarly articles."
            }],
            "http://schema.org/name": [{
                "@value": "ScholarMarkdown"
            }]
        },
        {
            "@id": "#b338_b16",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/rubensworks/ScholarMarkdown"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b15"
            }]
        },
        {
            "@id": "#b338_b17",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "A YARRRML parser library and CLI in Javascript"
            }],
            "http://schema.org/name": [{
                "@value": "YARRRML Parser"
            }]
        },
        {
            "@id": "#b338_b18",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/rmlio/yarrrml-parser"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b17"
            }]
        },
        {
            "@id": "#b338_b2",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/comunica/"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b1"
            }]
        },
        {
            "@id": "#b338_b3",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "Linked Data Querying with GraphQL."
            }],
            "http://schema.org/name": [{
                "@value": "GraphQL-LD"
            }]
        },
        {
            "@id": "#b338_b4",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/rubensworks/graphql-ld.js"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b3"
            }]
        },
        {
            "@id": "#b338_b5",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "Linked Data Querying with GraphQL."
            }],
            "http://schema.org/name": [{
                "@value": "GraphQL-LD"
            }]
        },
        {
            "@id": "#b338_b6",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/rdfostrich/ostrich"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b5"
            }]
        },
        {
            "@id": "#b338_b7",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "A Triple Pattern Fragments server for Node.js"
            }],
            "http://schema.org/name": [{
                "@value": "Linked Data Fragments Server"
            }]
        },
        {
            "@id": "#b338_b8",
            "http://usefulinc.com/ns/doap#location": [{
                "@value": "https://github.com/LinkedDataFragments/Server.js"
            }],
            "http://usefulinc.com/ns/doap#repositoryOf": [{
                "@id": "#b338_b7"
            }]
        },
        {
            "@id": "#b338_b9",
            "http://schema.org/contributor": [{
                "@id": "#b338_b0"
            }],
            "http://schema.org/description": [{
                "@value": "An RDF triple store that allows multiple versions of a dataset to be stored and queried at the same time."
            }],
            "http://schema.org/name": [{
                "@value": "OSTRICH"
            }]
        }
    ]
}
## JSON-LD End ##
@pheyvaer
Copy link
Collaborator

pheyvaer commented Sep 2, 2020

Hi @kidehen

Thanks for the suggestion. How can you guarantee that the same relative IRIs are generated for every single request?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants