[ 
https://issues.apache.org/jira/browse/JENA-1687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16798205#comment-16798205
 ] 

Andy Seaborne commented on JENA-1687:
-------------------------------------

Hi there - I don't understand the basic need here.  In what situations is 
casting happening? `Node` has "is*" and "get*" operations as well as a visitor 
pattern to dispatch on type.

The abstraction for RDFTerms is class `Node` - there might be different 
implementations of the subtypes. In the jena distribution code this isn't used 
- there is only `Var` in SPARQL is a subclass of `Node_Variable`. Teh visitor 
pattern is a way to dispatch on type. 

Why is casting (inc JENA-1688) beneficial? Note that rules and SPARQL actually 
work on ["generalised 
RDF"|https://www.w3.org/TR/rdf11-concepts/#section-generalized-rdf].

Jena has a large user base and preserving the investments in all the 
applications written using Jena is an important factor. Changes that might have 
impacts to existing code need to be made carefully.




> Precise return types of NodeFactory methods
> -------------------------------------------
>
>                 Key: JENA-1687
>                 URL: https://issues.apache.org/jira/browse/JENA-1687
>             Project: Apache Jena
>          Issue Type: Improvement
>            Reporter: Jan Martin Keil
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> I propose to precise the return types of the NodeFactory methods, e.g. to set 
> NodeFactory#createURI return type to Node_URI. This makes the developers life 
> easier, as there is no longer a need to cast after creating a Node, if one 
> need a specific node type. I can not see any disadvantages and it should be 
> backward compatible (except of classes that override these methods).



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to