Skip to content

Guidance on how to validate all parameters are defined in context #200

@C-Loftus

Description

@C-Loftus

Thank you very much for your work on this library. I am looking to write a simple script to make sure a some jsonld data from my API is exhaustively mapped (i.e. every term is mapped to one in the context) and was wondering if there is a way to do this with pyld.

My understanding of jsonld is that I can define whatever properties I want and even if they are not defined in the context, they will still be expanded / compacted etc

{
  "@context": "http://schema.org/",
  "@type": "Person",
  "name": "Jane Doe",
  "jobTitle": "Professor",
  "telephone": "(425) 123-4567",
  "dummy_name": "foo_bar"
}

would be canonized to

_:c14n0 <http://schema.org/dummy_name> "foo_bar" .
_:c14n0 <http://schema.org/jobTitle> "Professor" .
_:c14n0 <http://schema.org/name> "Jane Doe" .
_:c14n0 <http://schema.org/telephone> "(425) 123-4567" .
_:c14n0 <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://schema.org/Person> .

However, I was hoping that in the jsonld processor, there might be a way to check that the vocab is invalid during the process of fetching the schema.org vocab. I think this would be valuable since to my understanding, there aren't any jsonld linters that can automatically run these sorts of checks in a ci/cd pipeline, ensuring rdf data is valid without needing to write redundant shacl shapes.

Thank you very much
Regards
Colton

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions