Re: Blank nodes must DIE! [ was Re: Blank nodes semantics - existential variables?]

On 6/30/20 8:45 PM, Jiří Procházka wrote:
> I don't consider that as radical of a proposal as many do. People value
> different RDF(S)/OWL/RIF/N3 features differently, as their use cases
> differ.
> 
> I think a lot of real RDF usage in the wild doesn't care much about any
> RDF logic, inference, entailments and treat RDF as an upgraded data
> language, most value provided by IRI/URI identifiers, shared
> vocabularies and graph structure. They are authoring their data,
> ingesting, cleaning and filtering external data, merging it and
> processing in based on their own algorithms/logics.
> This group would be mostly fine with some "RDFCore" without blank nodes
> and maybe other stuff. Just graphs and triples.

Agreed.  And this is a HUGE market.

> On the other hand people who care about logic and entailments usually
> care about it a lot and what RDF(S) provides is not a lot. If you want
> more, it gets really complex. I agree that even the RDF specifications
> are not approachable for a common programmer. 

Agreed.  And although I think we should give greater emphasis to better 
supporting the much larger market of folks who do not need RDF logic, I 
think we should still be careful not to throw the logicians under the 
bus.  I think the logic-based rigor adds important value, and 
logic-based use cases should continue to be supported also.

> On the other hand what
> seems approachable and simple is N3, and it can even do more than RDFS!
> RDFS constructs can be defined using N3 rules, blank nodes can be
> replaced by explicit N3 existential variables over entire graph.

+1

I think N3 has some great potential, and I'm very interested to see how 
it develops.

BTW, one aspect of rules-language approaches -- I'm not talking 
specifically about N3 here -- that I think has not received enough 
attention is that applications need to be able to apply inference rules 
*selectively*, at different points in the application.  They need to be 
able to conveniently apply a few rules, work with those intermediate 
results, then apply a few more rules, etc. -- not just run one big rules 
engine once to completion.  Somehow, rules engines should better support 
this mode of working (though perhaps some do, and I'm just not 
adequately aware of them).

> As any rule language seems simple to me than OWL/RDFS, RIF could be an
> alternative to N3. I can read rules fine, they can be accompanied by
> helping descriptions, but with OWL/RDFS we have just the descriptions
> and formal semantics which (both) have been misunderstood by many.
> 
> So how about specifying a simple clean RDFCore and rule based logic on
> top of that? How is that for a radical proposal?

Excellent idea!  I would love to see that idea fully developed into 
working software.  Again, I think this kind of effort would make 
excellent PhD topics.  And tools could be built (or extended) as 
Master's degree projects.

> PS: For the RDF -> RDFCore cleanup there have been numerous ideas, but
> off top of my head what has resonated with me is:
> 1) No blank nodes.
> 2) Include named graphs/surfaces, vocabulary for relations between them
> and triples, to overshadow RDF reification.
> 3) Vocabulary for semantic extensions, if their terms break any
> features, like monotonicity.
> 4) Subject and object should allow the same node types, property
> possibly too.
> 5) Remove and have a recommended descriptive vocabulary (no special
> semantics) for highly reusable stuff like: collections, containers,
> 6) Recommendation and vocabulary for representing n-ary relations.
> 7) Good support for binary data literals.
> 8) Simple resource equality rules (IRI/URI rules are complex).
> 9) Vocabulary for dereferencing / Linked Data. rdf:seeAlso.
> 10) Consider merging literals into resources for example using something
> like ValueProperty (subclass of rdf:Property, range: literals). Data URI
> scheme? Replace literal language tags and literal datatypes by a
> descriptive vocabulary.

Excellent list!  On quick read I agree with all of it.  See also Sean 
Palmer's points about the need for better support of binary data and 
about having a single value space, with literals being treated as 
syntactic short-hand for URIs:
https://github.com/w3c/EasierRDF/issues/68

David Booth

Received on Wednesday, 1 July 2020 11:47:24 UTC