knowL: Knowledge Libraries
Loading...
Searching...
No Matches
Validator.h
1#ifndef VALIDATOR_H_INCLUDED
2#define VALIDATOR_H_INCLUDED
3
4#include <QExplicitlySharedDataPointer>
5
6#include <knowCore/Format.h>
7#include <knowCore/Value.h>
8
9#include "Forward.h"
10#include "Severity.h"
11
12namespace knowSHACL
13{
19 {
20 public:
21 Validator();
22 Validator(const Validator& _rhs);
23 Validator& operator=(const Validator& _rhs);
24 ~Validator();
36 knowCore::ReturnValue<ValidationResults> validate(const QUrl& _graph_uri, const QString& _format = knowCore::Format::Turtle);
40 knowCore::ReturnValue<ValidationResults> validate(QIODevice* _graph_data, const knowCore::Uri& _base, const QString& _format = knowCore::Format::Turtle);
44 knowCore::ReturnValue<ValidationResults> validate(const knowCore::Uri& _graph_uri, const QString& _format = knowCore::Format::Turtle);
45 public:
49 static knowCore::ReturnValue<Validator> create(const QString& _validator_def, const QString& _format = knowCore::Format::Turtle);
53 static knowCore::ReturnValue<Validator> create(const QUrl& _validator_url, const QString& _format = knowCore::Format::Turtle);
57 static knowCore::ReturnValue<Validator> create(const knowCore::Uri& _validator_url, const QString& _format = knowCore::Format::Turtle);
62 private:
63 QList<const knowRDF::Node*> follow(const knowRDF::Node* _node, const Path& _path);
64 knowCore::ReturnValue<bool> validate(const knowRDF::Node* _node, const Constraint& _shape, QList<ValidationResult>* _results, const knowRDF::Node* _focus_node, const Path& _path, const knowCore::Uri& _source_shape);
65 knowCore::ReturnValue<bool> validate(const knowRDF::Node* _node, const PropertyShape& _shape, QList<ValidationResult>* _results, const knowCore::Uri& _source_shape);
66 knowCore::ReturnValue<bool> validate(const knowRDF::Node* _node, const NodeShape& _shape, QList<ValidationResult>* _results, const knowCore::Uri& _source_shape);
67 ValidationResult createValidationResult(const knowRDF::Node* _node, const Path& _path, Severity _severity, const knowCore::Uri& _sourceConstraintComponent, const knowCore::Uri& _sourceShape, const knowRDF::Node* _value);
68 ValidationResult createValidationResult(const knowRDF::Node* _node, const Path& _path, Severity _severity, const knowCore::Uri& _sourceConstraintComponent, const knowCore::Uri& _sourceShape, const knowCore::Value& _value);
69 template<typename _T_>
70 ValidationResult createValidationResult(const knowRDF::Node* _node, const Path& _path, Severity _severity, const knowCore::Uri& _sourceConstraintComponent, const knowCore::Uri& _sourceShape, const _T_& _value);
71 private:
72 struct Private;
73 QExplicitlySharedDataPointer<Private> d;
74 };
75}
76
77#endif // VALIDATOR_H_INCLUDED
Definition Forward.h:12
Definition ReturnValue.h:29
Definition Uri.h:14
Definition Value.h:13
Definition Graph.h:10
Definition Node.h:17
Definition Constraint.h:16
Definition Definition.h:14
Definition NodeShape.h:14
Definition Path.h:15
Definition PropertyShape.h:14
Definition ValidationResult.h:11
Definition Validator.h:19
Definition definition() const
static knowCore::ReturnValue< Validator > create(const QString &_validator_def, const QString &_format=knowCore::Format::Turtle)
knowCore::ReturnValue< ValidationResults > validate(const knowRDF::Graph &_graph)
Definition Validator.cpp:1002
Definition Validator.cpp:38