Skip to content

deciding between pathValues and pathValue, and focusNode and focusNodes #529

@TallTed

Description

@TallTed

Originally posted by @TallTed in #525 (comment)

# This is a path values expression that is expected to return zero or one values
shnex:pathValues ex:fullName ;

[@TallTed] I think this may be the root of the difference between pathValues and pathValue. "zero or one values" leads to the troublesomely indeterminate expansion of "zero values or one value". zero pathValues reads better than zero pathValue, while one pathValue reads better than one pathValues. (no pathValue and no pathValues both read OK.)

It's too bad parentheses are problematic in predicate identifiers, e.g., shnex:pathValue(s) and "zero or one value(s)". I think these might be acceptable to all, and perhaps the problems are small enough to likewise accept.

Similar discussion applies to focus node, focus nodes, and focus node(s).

[@HolgerKnublauch] I am usually in favor of singular names for RDF properties, so (has) child over children. But here this is similar to sh:values which also produces multiple values as a list. I hope I can proceed here, as this has two approvals now and other branches are waiting for this change. If you still feel this issue is critical enough, feel free to open a new ticket.

This might be quickly closed, depending on the answer to my next question:

Do these "produce multiple values as a list" along the lines of —

ex:entity
    sh:values "value1, value2, value3" .

— or (what I've been thinking) along the lines of —

ex:entity
    sh:values "value1" , 
              "value2" , 
              "value3" .

I think no-one will argue with me whether both are lists.

In the latter case, I will continue to push strongly for the singular identifiers.

In the former case, I will work to accept the plural identifier though I still believe the singular identifier is better.

(This has arisen in other contexts, particularly schema:keywords, which is indeterminately documented, and has led to some users having "keyword 1, keyword 2, keyword 3" and other users having "keyword 1", "keyword 2", "keyword 3". Imagine the frustration that ensues downstream, when someone tries to merge these two graphs, and instead of having them collapse perfectly into 3 triples or 1 triple, depending on their own preconception, finds that they have four triples each with a unique values for the schema:keywords predicate!)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions