Skip to content

conversion:predicate

Timothy Lebo edited this page Feb 14, 2012 · 25 revisions
csv2rdf4lod-automation is licensed under the [Apache License, Version 2.0](https://github.com/timrdf/csv2rdf4lod-automation/wiki/License)

See conversion:Enhancement.

Arbitrary attribute-value descriptions can be added to 1) the subjects created from a particular row and 2) the objects created from a particular cell.

Annotating the object (i.e., "cell")

For a given conversion:predicate/conversion:object pair, the default behavior ("annotating the object") is to annotate the rdfs:Resource resulting from a cell value's resource promotion. This is the case for columns 1 and greater. Note that the conversion:range must be rdfs:Resource to promote the cell's value to a resource.

conversion:enhance [
   ov:csvCol 1;
   conversion:predicate "Predicate for subjects pointing to column 1";
   conversion:object    "Value of predicate";
];

Annotating the subject (i.e., "row")

replaced by https://github.com/timrdf/csv2rdf4lod-automation/wiki/conversion:SubjectAnnotation

The one special case is to apply a conversion:predicate/conversion:object pair to an enhancement for column 0. Since column counting begins at 1, we aren't annotating any cell. Conceptually, the row is at position 0. Since the subject is created from the row by default, annotating column 0 will annotate the subject instead of the object.

conversion:enhance [
   a conversion:SubjectAnnotation;
   conversion:predicate skos:inScheme;
   conversion:object    my:Scheme;
];

see Enhancement pattern: adding units to measurements for an example.

Multiple Annotations

Note this DOES NOT (and should not and cannot) work:

conversion:enhance [
   ov:csvCol 0;
   conversion:predicate ""; # DO NOT DO THIS
   conversion:object    ""; # DO NOT DO THIS
   conversion:predicate ""; # DO NOT DO THIS
   conversion:object    ""; # DO NOT DO THIS
];

How would we know which object goes with which predicate?

Instead, use:

conversion:enhance [
   ov:csvCol 0;
   conversion:predicate "";
   conversion:object    "";
conversion:enhance [
   ov:csvCol 0;
   conversion:predicate "";
   conversion:object    "";
];

Querying for examples

still draft:

PREFIX ov: <http://open.vocab.org/terms/>
PREFIX conversion: <http://purl.org/twc/vocab/conversion/>
SELECT distinct ?p ?o ?col
WHERE {
  GRAPH <http://logd.tw.rpi.edu/vocab/Dataset>  {
     []
       conversion:enhance [
          conversion:predicate ?p;
          conversion:object    ?o;
       ]

  }
} order by ?p ?o ?col
Clone this wiki locally