Git Product home page Git Product logo

ap2shacl's People

Contributors

philbarker avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

ap2shacl's Issues

Don't translate rdf:type to sh:class

SHACL Spec says

Note that multiple values for sh:class are interpreted as a conjunction, i.e. the values need to be SHACL instances of all of them.

But we want the value to be any one of the listed values, i.e. to expand multiple values into options sh:in () as with other properties.

Multiple entries for datatype must be in list

E.g. in join up DCAT AP, valueDataType for dct:modified is "xsd:date xsd:dateTime"
This needs to be in SHACL as sh:or ([sh:datatype xsd:data] [sh:datatype xsd:dateTime])

Notes, in the join-up SHACL file this is in a node shape (DateOrDateTimeDataType_Shape), using sh:shape property on sh:property.

Without the explicit shape:

<catalogrecordshapeUpdate/modificationdate> a sh:PropertyShape ; 
    sh:or ([sh:datatype xsd:date] [sh:datatype xsd:dateTime]) ; 

works

Support sh:ignoredProperties

When a shape is closed it would be useful to suppor sh:ignoredProperties: a list of properties that ignored: i.e. allowed in the shape but have no associated TAP propertyContraint / sh:PropertyShape.

Heading in shapes csv would ignoreProps, which would then be a key in the python AP shapes dict.

property value constraint on class

equivalent to sh:class on a property shape: specifies that the value of a property must be typed to specific class[es].

Initially just single value.

e.g.
valueConstraintType = "objectClass"
valueConstraint = "sdo:Person"

<>  a sh:PropertyShape ;
    sh:class ex:Company . 

Give more specific error messages

Don't leave people hunting for error in 100s of lines of csv e.g.:

  • Print property statement before raising Exception: Incompatible node kind and constraint (ap2shaclConverter.py", line 336, in convert_valConstraints)
  • add else: clause for value error for when target type not recognised & print shape info
  • line 95, processing node types, error message tries to print non-existent variable
  • others?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.