Add semantic information to shape trees to discriminate between different resource classes
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Domain
- documentation
Research direction
Start with the Shape Trees specification's validateResource algorithm, the shape tree namespace, and the linked specification issue and hierarchy example. Determine how targetClass should be defined and used to distinguish resource classes; done means the specification consistently describes that behavior and the Task/Project examples no longer validate interchangeably.
Written by the indexing model from the issue text.
Description
A couple of months ago I bumped into what I think is a malfunction of the validateResource algorithm of the shape tree specification that I described in this issue. Basically, trying to implement a shape tree validator that would execute the algorithm on the resources of the hierarchy described in an example found in the interoperability specification, I discovered that a "Task" resource is validated with a true result against a "Project" shape tree (and viceversa). This is due to the fact that the shape validation would check for constraints on the Project shape and wouldn't find any constraint for the task resource. I think this should not be an intended behavior and users should have the possibility to discriminate between different shape trees when validating a certain resource.
My solution is to add to the shape tree namespace a property similar to this one:
:targetClass
a owl:ObjectProperty ;
rdfs:domain :ShapeTree ;
rdfs:range rdfs:Class ;
rdfs:comment "Specifies the class of the managed resource"@en ;
rdfs:isDefinedBy <> ;
rdfs:label "targetClass"@en .
And so for example the TaskShapeTree could look like this:
<#TaskTree>
a st:ShapeTree ;
st:expectsType st:Resource ;
st:shape pm-shex:TaskShape ;
st:targetClass pm:Task .
And the validateResource algorithm could check if the shape tree has a st:targetClass property and, in that case, if the targetClass is the same of the class of the resource.
- Dominant language
- Bikeshed
- Stars
- 58
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Getting set up
This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from solid/data-interoperability-panel
-
Align with LWS Access Requests and GrantsMay be free again @elf-pavlik claimed this 78 days ago, and no pull request is open. Open
solid/data-interoperability-panel#338 · 11 comments · 1 assignee ·
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
solid/data-interoperability-panel#337 · 1 comment ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
solid/data-interoperability-panel#336 · 2 comments ·
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
solid/data-interoperability-panel#335 · 3 comments ·
-
Remove `interop:AccessAuthorization`, `interop:AccessGrant` and `interop:AccessNeedGroup`May be free again @elf-pavlik claimed this 513 days ago, and no pull request is open. Open
solid/data-interoperability-panel#334 · 5 comments · 1 assignee ·
All issues in solid/data-interoperability-panel
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
Link Checker ReportOpenautomated issue report
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
-
docs pydanty:is-working
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
pydantic/pydantic-ai#9800 ·
Maintainers usually reply within 1 day
-
clang:temporal-safety documentation
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
llvm/llvm-project#228952 · 1 comment ·
Maintainers usually reply within 1 day
-
agent:WSL bug linux LOW ui
Difficulty 1/5 Under an hour Newbie friendliness 78/100
Maintainers usually reply within 1 day