json-ld/json-ld.org — Issue #63: Provenance in JSON-LD
Author: lanthaler
Created: 2012-01-23 01:58:10+00:00
State: open
Labels: spec-design

**This was asked by [Alexandre Passant](http://lists.w3.org/Archives/Public/public-linked-json/2012Jan/0053.html) on the mailing list:**

Hi,

I'm trying to imagine how to add (basic) provenance information in JSON-LD. The use-case is on re-distribution of existing data, in order to indicate when it has been fetched, from which website, etc.

I'm thinking of a `@graph` keyword:

```
"age": {
"@value": "31",
"@type": "http://www.w3.org/2001/XMLSchema#integer",
"@graph" : [{
"@id" : "http://example.org/foaf",
"created" : "2012-01-17",
}, {
"@id" : "http://dbpedia.org/data/JohnDoe",
"created" : "2012-01-11",
}
}
```

This would create (using TRIX):

```
## Graph 1
{ :ex :age "31 }
## Graph 2
{ :ex :age "31 }
## Graph metadata
: {
created "2012-01-11" .
created "2012-01-17" .
}
```

I know that the graph issue is still under consideration by the RDF WG, so this output may change. Yet, I think the requirement is strong enough to address it. Opinions ?

BTW, is there currently a way in JSON-LD to define extensions ? So that, I could define my own semantics of `@graph` (that some JSON-LD parser may or may not understand) but this document would still be compliant with the main JSON-LD spec. Or a way to ignore some keywords in the parser (via `@context`) so that I can produce such document but still be valid.

> Markus: This is discussed in a slightly different context. See issue #56 and #49:

Best,
Alex.