-
Notifications
You must be signed in to change notification settings - Fork 23
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
describe reification mechanisms declaratively (PRV plus) #199
Comments
It would be good to see such document as a separate document to the one this group is finishing up. That can be done in RDF-DEV independently of the RDF-star work and could start now. One area to expand upon is that RDF-star is not RDF reification. RDF-star is lower level - it provides the building block and relies on correct modelling to capture multiple independent claims about the triple. For example: This isn't specific to RDF-star - the same happens with inappropriate modeling on time ranges and many other cases where each set of claims is itself multiple triples. |
https://douroucouli.wordpress.com/2020/09/11/edge-properties-part-1-reification/ by @cmungall has more examples of reification mechanisms, including great advice about them. In particular:
I think rdf-star is (or can be) higher level because it captures a "reification API" that could admit multiple implementations. I think this matches the position of @HolgerKnublauch (see above) and @cmungall (see below):
Andy, what do I need to do to initiate this work in RDF-DEV? I don't suppose this issue is enough? Given the latest developments in Wikidata and rdf-star, revisit https://www.w3.org/TR/swbp-n-aryRelations/ and PRV and refresh them to capture more use cases and provide recommendations |
I can't reconcile "reification API" with RDF-star because RDF-star has defined syntax and semantics. Anything that encapsulates or describes multiple different approaches will expose or allow for differences, because each has unique features and benefits, and some are focused on specific capabilities, not general use. |
(I am not W3C) What you need is people to be active, and a shared goal. An issue here may get discussion (and you've pinged those people). To go further than discussion and have an effect needs a bit more. You could start a CG at W3C. Anyone can propose one and if it gets 5 supporters (individuals, not companies), it gets created -- https://www.w3.org/community/groups/propose_cg/ -- there are no technical or process barriers of any significance. (You don't even need to ask your W3C AC rep!) Here (rdf-star) is a bit unusual because it is not a separate CG, it's part of the RDF-DEV CG and publishes its drafts and the final report that way. (I don't why it is this way - it did cause a bit of extra work at one point to deal with IP.) A CG gives you a well-used framework for producing a report (e.g. it deals with the IP and copyright issues). So you could just get together and start a doc (github wiki?) then morph into a CG. Summary - start with some people wanting to do a thing. The rest is detail. |
It seems that these prefixes should differ, else you'd have used one bullet and said something like "( |
Thanks @VladimirAlexiev for raising this. Updating PRV and/or TR/swbp-n-aryRelations looks indeed like a useful thing to do. I also agree that this is kind of out-of-scope for the RDF-star "subgroup". Like @afs, I don't see RDF-star as an API that could unify the various reification design pattern -- I see it as yet another design pattern, with its pros and cons. |
Part of any WG to add something like RDF* to RDF should be discussion of just what sort of reification should be added and buy-in from the major players in the RDF ecosystem. Without such discussion and buy-in I feel that the WG will not succeed. (It might produce recommendations but they will not be widely implemented.) So it is worthwhile to keep track of alternatives, both alternatives to RDF* and alternatives within RDF*. It appears to me that right now the RDF* documents not only do not include any information about alternatives but they also hide some of the effects of the choices made in RDF*. |
@VladimirAlexiev -- I do wish the text in the png above, which has terrible font vs background contrast ratios, were presented as text instead of pixels. I strongly advise replacing the png, or at least supplementing it, with codefenced text, whether it gets fancy syntax highlighting or not. (Syntax highlighting color choices that deliver poor contrast can at least be worked around by copying and pasting such text into an unhighlighted tool, which cannot be done with the png.) |
Spun off from #122 (cc @hartig @afs @TallTed @pchampin @HolgerKnublauch):
@HolgerKnublauch on dash:reifiableBy says:
So the idea is for
dash:reifiableBy
to specify constraints on triple annotations, but allow the reification and annotation to be implemented by different lower-level mechanisms (though I believe the "binding" of these mechanisms is not specified in Holger's doc).The above illustrates 2 ways of doing reification:
rdf:Statement
and rdf-star. But there are many other ways:?team s:athlete/s:athlete? ?player
?team s:athlete ?role. ?role a s:Role; s:athlete ?player; ?qualifier ?value
wdt:Pnnn
is used for the "direct claim"p:Pnnn
is the "first half" from subject to reified Statementps:Pnnn
is the "second half" from reified Statement to objectpq:Pnnn
is used when the prop is used as a qualifier)pr:Pnnn
is used when the prop is used in a reference)?subj wdt:Pnnn ?obj
: returns claims having "BestRank"?subj p:Pnnn ?stmt. ?stmt ps:Pnnn ?obj; ?qualifier ?value
: returns all claims, together with statement qualifiers (and potentially a reference node)The PropertyReificationVocabulary (PRV) by Jiří Procházka, Richard Cyganiak, Toby Inkster and Bob Ferris in Feb 2011 to capture various reification mechanisms declaratively.
prop -> Role -> prop
or Wikidata'sp:Pnnn -> Statement -> ps:Pnnn
one would have to instantiate PRV declarations for every such propDoes it make sense to revive the PRV idea to represent declaratively the various reification mechanisms?
The text was updated successfully, but these errors were encountered: