On 27/06/14 13:32, Benson Margulies wrote:
I am trying to remove more rust from my OWL neurons.

1. Some item has a natural ID. It might not be composed of valid
characters for a URI.
http://answers.semanticweb.com/questions/3903/n3-syntax-for-url-encoding-on-jena
does not give direction that I see how to follow. What's best
practice?

I can't speak to best practice but personally I transform the ID to a valid URI segment and use that but include the untransformed ID as a skos:notation value.

That transformation can be a hash (if you don't care about readability) or URI-encoding.

The answer you quote is obsolete. The Turtle 1.1 specification does allow %-encoding in localnames and Jena allows this.

2. If a have a functional/inverse-functional pair, should I
createStatement both directions, or should I use some sort of
inference device to fill in? I'm creating a lot of triples here, so
I'm inclined to just make them myself for fear of a very slow traverse
of a large model.

Depends on the intended clients.

All the OWL declaration states is that an inverse relationship exists, it doesn't require you to assert both directions. Indeed the reverse is true. The combination of the OWL plus assert one direction is technically enough.

However, in practice the question is whether the clients that will query your data will only use one of those directions or will assume that both exist, and whether they will use inference or not. It also depends on whether in providing your data you are doing that as a file or a service, and if as a service you are claiming inference support.

If you have no control over the clients then the pragmatic answer is to just assert both to be safe.

Dave




Reply via email to