RE: edge attributes in JSON-LD

Reopening this thread, as my current challenge relates closely:

I'm modeling historical Place attestations for gazetteer applications, and
a potential linked.places JSON-LD modeling standard (a la linked.art). The
idea is to build upon GeoJSON-LD.

Several attributes of Places are temporally indexed; i.e. may have a 'valid
period', but are not amenable to event models in the same way as linked.art
provenance is.

>From what I can tell, three options are @graph, n-ary relations, and
rdf:Statement reification. I've rendered some sample records below. My
question is whether there has emerged a best practice for this general
problem of edge attributes. Any comments welcome at this stage. I have been
having a conversation with @gklyne on this, here, which may (?) shed
further light. https://github.com/LinkedPasts/lp-network/issues/1

thanks
--------

approach 01 (@graph; playground <https://tinyurl.com/y74p3pov> )
{
  "@context": "http://linkedpasts.org/assets/place-v4-context.jsonld",
  "related": [
    { "@id": "http://linkedpasts.org/graphs/01",
      "@graph": {"@id":"myplace:Abingdon","part_of":"myplace:Berkshire"},
      "when": {
        "timespans":
            {
                      "earliestYear": "1600",
                      "latestYear": "1974",
                      "label": "from 17c. to 1974"
                    }
      }
    },
    { "@id": "http://linkedpasts.org/graphs/02",
      "@graph": {"@id":"myplace:Abingdon", "part_of":"myplace:Oxfordshire"},
      "when": {
        "timespans":
            {
                      "earliestYear": "1974",
                      "latestYear": "2018",
                      "label": "from 1974"
                    }
      }
    },
    { "@id": "http://linkedpasts.org/graphs/03",
      "@graph": {"@id":"myplace:Oxford", "part_of":"myplace:Oxfordshire"},
      "when": {
          "timespans":
            {
                      "earliestYear": "1000",
                      "latestYear": "2018",
                      "label": "from 11c."
                    }
            }
    }
  ]
}


approach 02 (per property graph example given in this thread)
[
    {"@id": "", "@type": "rdf:BoundDataset"},
    {"@id": "p1", "name": "Abingdon", "type": "settlement",
"_:parent_p1p3":"p3", "_:parent_p1p4":"p4"},
    {"@id": "p2", "name": "Oxford", "type": "settlement", "_:parent_p2p4":
"p4"},
    {"@id": "p3", "name": "Berkshire", "type": "county"},
    {"@id": "p4", "name": "Oxfordshire", "type": "county"},
    {    "@id": "_:parent_p1p3",
        "rdfs:subPropertyOf": "hasParent",
        "earliestYear": 1600,
        "latestYear": 1974,
        "label": "from 17c. until 1974"},
    {    "@id": "_:parent_p1p4",
        "rdfs:subPropertyOf": "hasPparent",
        "earliestYear": 1974,
        "latestYear": 2018,
        "label": "from 1974"},
    {    "@id": "_:parent_p2p4",
        "rdfs:subPropertyOf": "hasParent",
        "earliestYear": 1000,
        "latestYear": 2018,
        "label": "from 11c."}
]


----
Karl Grossner
Technical Director,
World-Historical Gazetteer project for the
University of Pittsburgh World History Center
@kgeographer
Denver, CO

Received on Friday, 30 March 2018 22:10:07 UTC