Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Literals as subjects #21

Open
dbooth-boston opened this issue Dec 7, 2018 · 0 comments
Open

Literals as subjects #21

dbooth-boston opened this issue Dec 7, 2018 · 0 comments
Labels
Category: language features For language features of RDF itself -- model and syntax standards Standardization should address this

Comments

@dbooth-boston
Copy link
Collaborator

dbooth-boston commented Dec 7, 2018

RDF should allow "anyone to say
anything about anything", but RDF does not currently allow
literals as subjects! (One work-around is to use -- you guessed
it -- a blank node, which in turn is asserted to be owl:sameAs
the literal.) This deficiency may seem unimportant relative
to other RDF difficulties, but it is a peculiar anomaly that
may have greater impact than we realize. Imagine an average
developer, new to RDF, who unknowingly violates this rule and
is puzzled when it doesn't work. Negative experiences like
that drive people away. Even more insidiously, imagine this
developer tries to CONSTRUCT triples using a SPARQL query,
and some of those triples happen to have literals in the
subject position. Per the SPARQL standard, those triples will
be silently eliminated from the results,[13] which could lead
to silently producing wrong answers from the application --
the worst of all possible bugs.

"also, not allowing literal subjects means that RDF
reasoning cannot be complete, because there are valid derivations
whose antecedents and (valid) conclusions are both in valid RDF
syntax, but must use triples in generalized syntax. Putting
semantically meaningless restrictions on a logical syntax is bad
logical design as well."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0133.html

IDEA: Allow literals as subjects

"I thought we had fixed that in some later spec but I guess not. . . . Life is too short for arbitrary unnecessary asymmetry."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0058.html

IDEA: Allow graphs as subjects also

"if I should be able to make statements like this about strings, why not any data type? Why not an entire RDF graph, like { { a . } published “2014-02-28T00:00:00Z”^^xsd:dateTIme . } ?"
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0161.html

"That is N3"
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0225.html

IDEA: Allow literals and blank nodes as predicates too

"Can we get . . . blank nodes as predicates too?"
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0059.html

"This did crop up in json-ld, see
w3c/json-ld-syntax#37 with the notion of
'generalized rdf' introduced in the last round of specs":
https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0065.html

See also mention of "generalized RDF" in RDF 1.1:
https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf

"FWIW, allowing bnodes in predicate position (and literals in
subject position) does not affect the RDF semantics at all. The
2014 RDF 1.1 semantics specification applies to generalized RDF
syntax without changing a single word."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0072.html

"if you take away syntactic restrictions
unless they are absolutely necessary, this will allow expressions
which SEEM to make no sense, but all of those will quite quickly
get used in a natural way to mean something useful. For example,
we thought that allowing quoted names to be properties was crazy
at first, but we allowed it on the wild west principle, since
nobody could think of a reason to disallow it; and it turned out
to be critical for the IKRIS project"
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0151.html

CONCERN: "Is [blank nodes as predicates] really an essential problem? With blank nodes as predicates,
will it suddenly become easier to build RDF applications and explain
it "for dummies"? A lot of infrastructure will break and/or will have to be updated."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0062.html

"The downstream costs of such a low-level change
would be enormous. A huge number of tools, APIs and algorithms would
break, standards would need to be updated, books, tutorials etc would
become outdated. Also I personally doubt that it would make RDF more widely used."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0073.html

IDEA: Allow blank nodes and literals as graph names also

"Where do graphs appear in all this?
Can I have blank nodes and literals in the graph position?
Clearly my answer would be 'yes, please'."
https://lists.w3.org/Archives/Public/semantic-web/2018Nov/0075.html

"Blank nodes are already allowed as graph names." See https://www.w3.org/TR/rdf11-concepts/#managing-graphs

@dbooth-boston dbooth-boston added the Category: language features For language features of RDF itself -- model and syntax label Dec 8, 2018
@dbooth-boston dbooth-boston added standards Standardization should address this and removed standards Standardization should address this labels Mar 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: language features For language features of RDF itself -- model and syntax standards Standardization should address this
Projects
None yet
Development

No branches or pull requests

1 participant