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

propertyUrl can have multiple values, but RDF column metadata assumes one #186

Closed
gkellogg opened this issue Feb 2, 2015 · 11 comments
Closed

Comments

@gkellogg
Copy link
Member

gkellogg commented Feb 2, 2015

The CSV2RDF spec generates column metadata using propertyUrl similar to the following:

:country a rdf:Property ;
  rdfs:label "country" .

It also outputs Column common properties.

This comes from the column propertyUrl, here being :country using the column title(s) as a label. However, the metadata spec currently allows for propertyUrl to have multiple values. (Slightly complicated if propertyUrl is a URI template property as proposed). Consider the following metadata:

{
  "@id": "names.csv",
  "schema": {
    "columns": [{
      "name": "name",
      "title": "name",
      "dc:description": "Name of the thing.",
      "propertyUrl": [
        "http://schema.org/name",
        "http://www.w3.org/2000/01/rdf-schema#label",
        "http://purl.org/dc/terms/name>",
        "#name"
      ]
    }]
  }
}

This would end up outputting the following:

<http://schema.org/name> a rdf:Property ;
  rdfs:label "name";
  dc:description : "Name of the thing." .
<http://www.w3.org/2000/01/rdf-schema#label> a rdf:Property ;
  rdfs:label "name";
  dc:description : "Name of the thing." .
<http://purl.org/dc/terms/name> a rdf:Property ;
  rdfs:label "name";
  dc:description : "Name of the thing." .
:name a rdf:Property ;
  rdfs:label "name";
  dc:description : "Name of the thing." .

We probably don't mean to be re-defining externally defined properties. Perhaps this should be restricted to properties which are a fragment identifier of the table URL, and then perhaps only the first such property, or we limit propertyUrl to having just a single value.

@gkellogg
Copy link
Member Author

gkellogg commented Feb 2, 2015

Also, this is complicated by propertyUrl being a URI template property, which means that the property could potentially be different for every row.

@iherman
Copy link
Member

iherman commented Feb 3, 2015

I seriously wonder whether outputting these types of structures is useful in the first place. I would opt to remove that feature rather than getting into a complicated specifications on how to handle them; I do not see its usefulness.

I am actually surprised to see that the propertyUrl can be a an array instead of a single value. Which use case dictates that this should be the case?

Ivan

On 02 Feb 2015, at 22:38 , Gregg Kellogg notifications@github.com wrote:

Also, this is complicated by propertyUrl being a URI template property, which means that the property could potentially be different for every row.


Reply to this email directly or view it on GitHub.


Ivan Herman, W3C
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
ORCID ID: http://orcid.org/0000-0003-0782-2704

@iherman
Copy link
Member

iherman commented Feb 3, 2015

B.t.w., I also realized that, semantically, they are wrong. The description in the metadata is a description of the column and not the description of the property. The only clear statement we can do is that the property is a... rdf:Property. Not worth the trouble imho...

Ivan

On 03 Feb 2015, at 11:27 , Ivan Herman ivan@w3.org wrote:

I seriously wonder whether outputting these types of structures is useful in the first place. I would opt to remove that feature rather than getting into a complicated specifications on how to handle them; I do not see its usefulness.

I am actually surprised to see that the propertyUrl can be a an array instead of a single value. Which use case dictates that this should be the case?

Ivan

On 02 Feb 2015, at 22:38 , Gregg Kellogg notifications@github.com wrote:

Also, this is complicated by propertyUrl being a URI template property, which means that the property could potentially be different for every row.


Reply to this email directly or view it on GitHub.


Ivan Herman, W3C
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
ORCID ID: http://orcid.org/0000-0003-0782-2704


Ivan Herman, W3C
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
ORCID ID: http://orcid.org/0000-0003-0782-2704

@gkellogg
Copy link
Member Author

gkellogg commented Feb 3, 2015

I agree, I don't think the rdf:Property statement is worth making. Question is, how should column metadata be presented, and how to relate columns with properties?

@iherman
Copy link
Member

iherman commented Feb 3, 2015

On 03 Feb 2015, at 16:58 , Gregg Kellogg notifications@github.com wrote:

I agree, I don't think the rdf:Property statement is worth making. Question is, how should column metadata be presented, and how to relate columns with properties?

You mean translate column metadata into RDF? Do we need that in the first place?

Ivan


Reply to this email directly or view it on GitHub.


Ivan Herman, W3C
Digital Publishing Activity Lead
Home: http://www.w3.org/People/Ivan/
mobile: +31-641044153
ORCID ID: http://orcid.org/0000-0003-0782-2704

@gkellogg
Copy link
Member Author

gkellogg commented Feb 3, 2015

Yeah, that's a good question. All the metadata is in the metadata file, after all, which is JSON-LD, so you can always retrieve that by just parsing that file and extracting the RDF. What may be missing is a reference from the RDF generated from the CSV back to the metadata file(s) used to create it. Right now, this is in the prov section, which is optional. I'm all for eliminating both the table and column metadata from the RDF output as being needlessly repetitious.

@iherman
Copy link
Member

iherman commented Feb 3, 2015

Actually, it is questionable whether it would be correct to do anything like that. Some of the metadata, like the title and the description, is about the conceptual column; reproducing that in the RDF may not be obvious: what exactly would be the subject? Better not to go there...

Ivan


Ivan Herman
Tel:+31 641044153
http://www.ivan-herman.net

(Written on mobile, sorry for brevity and misspellings...)

On 03 Feb 2015, at 18:40, Gregg Kellogg notifications@github.com wrote:

Yeah, that's a good question. All the metadata is in the metadata file, after all, which is JSON-LD, so you can always retrieve that by just parsing that file and extracting the RDF. What may be missing is a reference from the RDF generated from the CSV back to the metadata file(s) used to create it. Right now, this is in the prov section, which is optional. I'm all for eliminating both the table and column metadata from the RDF output as being needlessly repetitious.


Reply to this email directly or view it on GitHub.

@JeniT
Copy link

JeniT commented Feb 4, 2015

I've created a new issue, #189, about the column metadata in the RDF output.

The rationale for having multiple property URLs is that (in my experience) there are frequently properties that are synonymous (rdfs:label, dc:title etc are common examples) and it's useful to be able to map a single value into all of them. However, these should be easy to add through post processing.

Suggested resolution: we only allow propertyUrl to have a single value.

@JeniT
Copy link

JeniT commented Feb 4, 2015

Resolution 2015-02-04 was to only allow propertyUrl to have a single value.

@gkellogg
Copy link
Member Author

gkellogg commented Feb 4, 2015

This can be closed with PR #187 and issue #96 are closed.

@gkellogg gkellogg removed the Editorial label Feb 4, 2015
@gkellogg
Copy link
Member Author

Close as both #187 and #96 are closed.

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

No branches or pull requests

3 participants