zazuko / xrm

A friendly language for mappings to RDF
MIT License
1 stars 0 forks source link

Handle ID incompatible vocabulary content #9

Closed mchlrch closed 5 years ago

mchlrch commented 5 years ago

Add optional value to RdfProperty, RdfClass, Datatype

Same as already done with Referenceable

nicky508 commented 5 years ago

What is the purpose of this issue? I get the referenceable part of it. So, I point to a specific referenceable and the string value is added to the rml:column. But for the classes, properties etc. they are defined in the vocabularies right?

mchlrch commented 5 years ago

For example a property characteristic-Physical is not a valid ID in the grammar, but it is a valid name for an RDF property (I guess).

vocabulary ric {
    prefix "ric:" "http://www.ica.org/standards/RiC/ontology#"
    classes

    properties
      title
      characteristic-Physical    
}

So, we would either need to have a substitute ID terminal that covers all possible valid names for properties and classes. Or it can be solved the same way as with the referenceables. Then the above would look like this:

vocabulary ric {
    prefix "ric:" "http://www.ica.org/standards/RiC/ontology#"
    classes

    properties
      title
      characteristicPhysical "characteristic-Physical"
}
nicky508 commented 5 years ago

Added optional value string to RdfClass, RdfProperty and datatype. Added valueResolved methods to the ModelAccess for RdfClass, RdfProperty and datatype. Invoked the methods in the generator.

Therefore, by adding a value=string to the property, class or datatype. This string will be used by the generator for creating the RML. The ID is always used to reference to the class, property or datatype in the DSL.