I’m working on an aggregate function in 5.2.2 and noticed that AbstractAggregate is package private which isn’t a problem for the example since the example is declared in the same package. Should this be public or should I be extending something else? I’ll just declare in the complexible package for now since I don’t think the jars are sealed.
And one other question about naming aggregates. From the example
PREFIX : <http://www.example.org>
PREFIX stardog: <tag:stardog:api:>
PREFIX agg: <urn:aggregate>
SELECT (agg:stardog:gmean(?O) AS ?C)
WHERE { ?S ?P ?O }
the example defines the name as
Namespaces.STARDOG + "gmean"
With Namespaces.STARDOG = “tag:stardog:api:”
I guess what I find confusing and would like to verify is that the second component of the URN (the NID?) is expanded based on the prefix definition. Would that expand just for the stardog: prefix or would that expand for any prefix used in that position? Actually I think just writing out the question has helped me to understand it. The egg: prefix is just a tag so just pretend that it’s not therefor prefix expansion and that it’s just there to identify it as an aggregate.