You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is it possible to query the value of an annotation property using the SQWRL API?
I tried to run this query: "skos:prefLabel(?i, ?label) -> sqwrl:select(?label)"
But got an invalid SWRL predicate error.
I know that the label exists and that the prefix-manager is working properly because, with other functions and queries in my program, using that namespace and annotation, I was able to get the expected result.
I added a data property assertion to my ontology concerning the same individual, for "skos:prefLabel", and I was able to retrieve the literal result of that expression. (result-rows ((sqwrl-query sqwrl "skos:prefLabel(?i, ?label) -> sqwrl:select(?label)")))
I guess I could just convert selected annotation property assertions to data property assertions for use with SQWRL? A lot of the bibliographic formats tend to be almost entirely implemented as annotation properties, for some reason.
The text was updated successfully, but these errors were encountered:
I'm afraid that there is no way of querying annotation properties in SQWRL. SQWRL is built-on SWRL, which also does not allow annotation properties to be used in this way.
Thanks for confirming that. It makes sense, given that avoiding a bunch of pattern matching on string labels is one of the main reasons for the Semantic Web.
So much of the bibliographic linked data tends to have the actual data as the value of some sub-property of rdfs:label. Sure, it's a label, but it's also data! It would be nice to be able to reason over some of that stuff, like, for instance, writing a rule that classes together people with names that have a certain suffix (Jr., Sr., III, etc).
I guess I will look at some work-arounds, like writing a script to duplicate annotation properties as data properties, or maybe using SPARQL, and/or adding some functions to my pipeline that will shim that stuff up a little.
Is it possible to query the value of an annotation property using the SQWRL API?
I tried to run this query:
"skos:prefLabel(?i, ?label) -> sqwrl:select(?label)"
But got an invalid SWRL predicate error.
I know that the label exists and that the prefix-manager is working properly because, with other functions and queries in my program, using that namespace and annotation, I was able to get the expected result.
I added a data property assertion to my ontology concerning the same individual, for "skos:prefLabel", and I was able to retrieve the literal result of that expression.
(result-rows ((sqwrl-query sqwrl "skos:prefLabel(?i, ?label) -> sqwrl:select(?label)")))
I guess I could just convert selected annotation property assertions to data property assertions for use with SQWRL? A lot of the bibliographic formats tend to be almost entirely implemented as annotation properties, for some reason.
The text was updated successfully, but these errors were encountered: