profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/linkeddata/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Read-Write Linked Data linkeddata MIT Originally MIT code. Everything must be MIT Licence.

linkeddata/dokieli 592

:bulb: dokieli is a clientside editor for decentralised article publishing, annotations and social interactions

linkeddata/rdflib.js 458

Linked Data API for JavaScript

linkeddata/gold 141

Linked Data server for Go

linkeddata/cimba 97

Client-Integrated Micro-Blogging Architecture application

linkeddata/profile-editor 45

WebID profile editor

linkeddata/ldphp 37

Linked Data server for PHP

linkeddata/node-webid 37

WebID node.js library

linkeddata/contacts 33

Address book-like application to manage contact information.

linkeddata/ontology-archiver 18

Copy favorite and commonly used RDF schemas/ontologies to a safe place

create barnchlinkeddata/rdflib.js

branch : dependabot/npm_and_yarn/lodash-4.17.21

created branch time in 12 minutes

PR opened linkeddata/rdflib.js

Bump lodash from 4.17.20 to 4.17.21

Bumps lodash from 4.17.20 to 4.17.21. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lodash/lodash/commit/f299b52f39486275a9e6483b60a410e06520c538"><code>f299b52</code></a> Bump to v4.17.21</li> <li><a href="https://github.com/lodash/lodash/commit/c4847ebe7d14540bb28a8b932a9ce1b9ecbfee1a"><code>c4847eb</code></a> Improve performance of <code>toNumber</code>, <code>trim</code> and <code>trimEnd</code> on large input strings</li> <li><a href="https://github.com/lodash/lodash/commit/3469357cff396a26c363f8c1b5a91dde28ba4b1c"><code>3469357</code></a> Prevent command injection through <code>_.template</code>'s <code>variable</code> option</li> <li>See full diff in <a href="https://github.com/lodash/lodash/compare/4.17.20...4.17.21">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

pr created time in 12 minutes

issue openedlinkeddata/rdflib.js

Does not properly process 8-bit unicode escape sequences on string literals

This is an extension of this issue on N3.js which does process 8-bit unicode escape sequences properly: https://github.com/rdfjs/N3.js/issues/248. There is also a test suite to test this: https://github.com/w3c/rdf-tests/pull/65.

Problem 1: Strange backslashes when writing to a Pod.

Let's say I want to PATCH the following triple to my POD <https://pod.example/chat1.ttl#message1> <http://rdfs.org/sioc/ns#content> "Here's my emoji: 😊".

Parsing this using n3 turns this into <https://pod.example/chat1.ttl#message1> <http://rdfs.org/sioc/ns#content> "Here's my emoji: \\U0001f60a". Or at least that's what you would want to write to a Pod.

Running the following code

function patchToPod(uri: string, dataset: DatasetCore) {
  const writer = new Writer({ format: "N-Triples" });
  for (const quad of dataset) {
    writer.addQuad(quad);
  }
  writer.end(async (error, parsedString: string) => {
    // Parsed String is `<https://pod.example/chat1.ttl#message1> <http://rdfs.org/sioc/ns#content> "Here's my emoji: \U0001f60a".`
    fetch(uri, {
      method: "PATCH",
      body: `INSERT { ${parsedString} }`,
      headers: { 'content-type': 'application/sparql-update' }
    })
  });
}

causes the following to be written to the Pod on NSS:

@prefix : <#>.
@prefix ch: <https://pod.example/chat1.ttl#>.
@prefix n: <http://rdfs.org/sioc/ns#>.

ch:message1 n:content "Here's my emoji: \uf60a".

Notice that instead of \U0001F60A it's \uf60a. I'm not 100% sure why this is because I'm not super versed in escape codes, but @RubenVerborgh believes this is a problem with rdflib.js on NSS.

Adding an additional slash to the parsed string in the code above fixes it:

fetch(uri, {
  method: "PATCH",
  body: `INSERT { ${parsedString.replace(`\\U`, `\\\\U`)} }`,
  headers: { 'content-type': 'application/sparql-update' }
})

However, @RubenVerborgh confirmed that adding these backslashes shouldn't be required.

Problem 2: Solid Clients don't understand 8-bit unicode escape sequences

When a unicode escape sequence is correctly formatted in the Pod, clients using rdflib.js are unable to understand it. For example, here's what a message in the SolidOS chat looks like with unicode escape:

:fd0071f5-01f9-416d-aa01-24eb6666d618
    n:content "Emoji3 \\U0001f60a";

Causes: image

:fd0071f5-01f9-416d-aa01-24eb6666d618
    n:content "Emoji3 \U0001f60a";

Causes: image

But,

:fd0071f5-01f9-416d-aa01-24eb6666d618
    n:content "Emoji3 \ud83d\ude0a";

Causes: image

So, even if I were to build functionality into my app to parse unicode, it wouldn't be interoperable with the apps that do not.

created time in a day

fork abheeeenav/project-roadmap

Roadmap and wishlist for the Crosscloud project

fork in 2 days

pull request commentlinkeddata/rdflib.js

fix several typos in store.ts

Thanks!

TallTed

comment created time in 3 days

push eventlinkeddata/rdflib.js

Ted Thibodeau Jr

commit sha 797b71b5a6ef4aaa208cc343186b56881a5573d8

fix several typos in store.ts human-facing comments

view details

Angelo Veltens

commit sha 555e473c3a83aff2634218187c5a19ea990fd23f

Merge pull request #493 from TallTed/patch-1 fix several typos in store.ts

view details

push time in 3 days

PR merged linkeddata/rdflib.js

fix several typos in store.ts

human-facing comments

+6 -6

0 comment

1 changed file

TallTed

pr closed time in 3 days

PR opened linkeddata/rdflib.js

fix several typos in store.ts

human-facing comments

+6 -6

0 comment

1 changed file

pr created time in 3 days

push eventlinkeddata/rdflib.js

bourgeoa

commit sha 9319b2092b363ec2684fe07a653b32665da16956

fix updateMany issue#490

view details

bourgeoa

commit sha 1b9789a68b6dceddefe784130fb2f75d2bd8fbe1

replace .map with .forEach

view details

Alain Bourgeois

commit sha d61e93331fc945ee84aba9c53df7937f25113573

Delete csarven-ori.ttl

view details

Alain Bourgeois

commit sha 1a5c53856b5bb590e3a5e2e7ae8057d5d70383e1

Merge pull request #491 from linkeddata/updateMany-fix fix updateMany issue#490

view details

push time in 4 days

PR merged linkeddata/rdflib.js

Reviewers
fix updateMany issue#490

issue #490

+25 -8

1 comment

2 changed files

bourgeoa

pr closed time in 4 days

push eventlinkeddata/rdflib.js

Alain Bourgeois

commit sha d61e93331fc945ee84aba9c53df7937f25113573

Delete csarven-ori.ttl

view details

push time in 4 days

issue closedlinkeddata/rdflib.js

Multiple owl:sameAs converted to link:uri

I have problems in defining multiple owl:sameAs links: the first one is correctly mantained, while the others are converted in link:uri.

What I expect:

@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix ent: <http://www.wikidata.org/entity/>.
@prefix link: <http://www.w3.org/2007/ont/link#>.

<http://data.doremus.org/artist/6a3d23e2-3264-3fb4-b1f9-c71b50eed635>
    owl:sameAs
       <http://www.wikidata.org/entity/Q2821467>,
        <http://viaf.org/viaf/121568779>,
        <https://musicbrainz.org/artist/abd51f20-f80d-4114-b139-5b71bc4bbce9>.

What I obtain:

@prefix owl: <http://www.w3.org/2002/07/owl#>.
@prefix ent: <http://www.wikidata.org/entity/>.
@prefix link: <http://www.w3.org/2007/ont/link#>.

<http://data.doremus.org/artist/6a3d23e2-3264-3fb4-b1f9-c71b50eed635>
    owl:sameAs
       ent:Q2821467;
    link:uri
        "http://viaf.org/viaf/121568779",
        "http://www.wikidata.org/entity/Q2821467",
        "https://musicbrainz.org/artist/abd51f20-f80d-4114-b139-5b71bc4bbce9".

My code:

const $rdf = require('rdflib');
const fs = require('fs');

var OWL = $rdf.Namespace("http://www.w3.org/2002/07/owl#");

var store = $rdf.graph();
var artist = $rdf.sym('http://data.doremus.org/artist/6a3d23e2-3264-3fb4-b1f9-c71b50eed635');

store.add(artist, OWL('sameAs'), $rdf.sym(`http://www.wikidata.org/entity/Q2821467`));
store.add(artist, OWL('sameAs'), $rdf.sym(`http://viaf.org/viaf/121568779`));
store.add(artist, OWL('sameAs'), $rdf.sym(`https://musicbrainz.org/artist/abd51f20-f80d-4114-b139-5b71bc4bbce9`));

$rdf.serialize(undefined, store, 'http://example.org', 'text/turtle', (err, str) => {
  if (err) return console.error(err);

  fs.writeFile('../data/artists.ttl', str, 'utf8');
});

closed time in 6 days

pasqLisena

issue commentlinkeddata/rdflib.js

Multiple owl:sameAs converted to link:uri

This should be fixed by https://github.com/linkeddata/rdflib.js/pull/492

pasqLisena

comment created time in 6 days

issue commentlinkeddata/rdflib.js

Disable sameAs automatic node merging by default

Fixed by https://github.com/linkeddata/rdflib.js/pull/492

timbl

comment created time in 6 days

issue closedlinkeddata/rdflib.js

Disable sameAs automatic node merging by default

https://github.com/linkeddata/rdflib.js/blob/master/src/store.ts#L198

sets the default mode for a Store to implement 'smushing' of nodes together in the graph. This is not something standard functionality, and may confuse future developers.

These features were used in the mashlib when it was used in the old says of 'mashups', to when combining data from many trusted open data sources, like the network of FOAF files. In fact the FOAF ontology specifically identify people by having the same properties, such as same email address or hash or email address.

But nowadays in the solid world, the data is from different resources has very different trust and this technique is not so appropriate. Anyway it is I think reasonable to expect devs in future who want to use the features to turn them on explicitly.

This is formally a breaking change to the API though I doubt many people even know about the features. This will of improve RDF/JS compatibility.

closed time in 6 days

timbl

push eventlinkeddata/rdflib.js

Tim Berners-Lee

commit sha a51584f52a24a5f8a99c37af93a4083b8d21982c

Disable Store fetures by default

view details

Alain Bourgeois

commit sha 2eec4674556003934a03d22ecf9591e211dd6890

Merge pull request #492 from linkeddata/disable-features Disable Store features by default

view details

push time in 6 days

PR merged linkeddata/rdflib.js

Disable Store fetures by default

Responds to https://github.com/linkeddata/rdflib.js/issues/458

No normal developer expects these features. They are useful for smushing together data from many sources, such as trusted public data sources. They not appropriate to the solid world of where many dat source are not trusted, and any 'sameAs' inference has to be done explicitly by the application layer or the domain-specific UX layer.

+5 -4

0 comment

1 changed file

timbl

pr closed time in 6 days

PR opened linkeddata/rdflib.js

Disable Store fetures by default

Responds to https://github.com/linkeddata/rdflib.js/issues/458

No normal developer expects these features. They are useful for smushing together data from many sources, such as trusted public data sources. They not appropriate to the solid world of where many dat source are not trusted, and any 'sameAs' inference has to be done explicitly by the application layer or the domain-specific UX layer.

+5 -4

0 comment

1 changed file

pr created time in 6 days

create barnchlinkeddata/rdflib.js

branch : disable-features

created branch time in 6 days

PullRequestReviewEvent

startedlinkeddata/ontology-archiver

started time in 7 days

pull request commentlinkeddata/rdflib.js

fix updateMany issue#490

I also changed a bit the test so that it fails on previous updateMany() code where multiple same PATCH delete occured.

bourgeoa

comment created time in 11 days

push eventlinkeddata/rdflib.js

bourgeoa

commit sha 1b9789a68b6dceddefe784130fb2f75d2bd8fbe1

replace .map with .forEach

view details

push time in 11 days

PR opened linkeddata/rdflib.js

fix updateMany issue#490
+19551 -7

0 comment

3 changed files

pr created time in 12 days

create barnchlinkeddata/rdflib.js

branch : updateMany-fix

created branch time in 12 days

issue openedlinkeddata/rdflib.js

updater.updateMany() may return a wrong result

https://github.com/solid/contacts-pane/issues/40

instead of grouping statements by document, the function fail to de-duplicate st.why. With as aconsequence a duplication of statements. On remove this induces PATCH failure.

const uniqueDocs = Array.from(new Set(docs)) is incorrect because all objects are different, we must compare the content. We can use rdflib.js sameTerm that make a node key value comparison in something like :

const uniqueDocs = []
docs.map(doc => {
    if (!uniqueDocs.find(item => item.sameTerm(doc))) uniqueDocs.push(doc)
 })

created time in 13 days

startedlinkeddata/rdflib.js

started time in 15 days

startedlinkeddata/dokieli

started time in 16 days

startedlinkeddata/rdflib.js

started time in 16 days