New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add an indexing# namespace for indexing-related values in fedora #13
Conversation
<rdfs:comment xml:lang="en">Ontology for user-defined configuration properties and classes on Fedora-curated resources.</rdfs:comment> | ||
</owl:Ontology> | ||
|
||
<owl:ObjectProperty rdf:about="http://fedora.info/definitions/v4/config#hasIndexingTransform"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Shouldn't this be a DatatypeProperty? The range is literal, and in the current implementation it is a path segment treated as a string.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I believe it should be a DatatypeProperty. Also, the range should be rdf:resource="&xsd;string"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 sounds right to me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, this property should be hasIndexingTransformation
as per the documentation: https://wiki.duraspace.org/display/FEDORA40/External+Search
|
||
<owl:DatatypeProperty rdf:about="http://fedora.info/definitions/v4/config#hasIndexingTransformation"> | ||
<rdfs:label xml:lang="en">has indexing transformation</rdfs:label> | ||
<rdfs:domain rdf:resource="http://fcrepo.info/definitions/v4/repository#Container"/> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should the domain for the hasIndexingTransformation property be repository:Container or repository:Resource? Practically speaking, it seems that repository:Container is correct, but should it be less restrictive?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The correct domain is "indexing:Indexable", or "config:Indexable", which is what it seems to have been called here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wait, the implication here is that the only reason to transform something is to index it. Is that truly the only reason? Or are we open to transforming Containers that aren't Indexable for other purposes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, the implication is that the only reason that something possesses an "indexing transformation" is because it is indexable. We have no language for general "tranformability" because, under the current rules of the transform API, any resource with an RDF representation available at its URI is transformable, at least as I understand the matter. We may wish to introduce such language, but that's a separate concern from "indexability". In fact, we could probably profit from revisiting the transform API and trying to generalize it.
Incidentally, this kind of confusion is why I voted against compressing "auxiliary" predicates and types into a grab-bag "config" namespace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Right. So we can do that by establishing a standard for indexing
"sidecars". That would include an ontology (much like the one we're now
using) and possibly some common understanding of the workflow implied by
the use of predicates and types in that ontology. Then, when I decide to do
something odd like create an indexing component using Apache UIMA for
feature extraction from images, I can just supply it as a "standardized"
part that will work with UCSD's systems.
On Tue, Jan 20, 2015 at 11:28 AM, Esmé Cowles notifications@github.com
wrote:
In config.rdf
#13 (diff):+
+
+<rdf:RDF
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <owl:Ontology rdf:about="http://fedora.info/definitions/v4/config#">
<rdfs:label xml:lang="en">Fedora Commons Configuration Ontology/rdfs:label
<rdfs:comment xml:lang="en">Ontology for user-defined configuration properties and classes on Fedora-curated resources./rdfs:comment
- /owl:Ontology
- <owl:DatatypeProperty rdf:about="http://fedora.info/definitions/v4/config#hasIndexingTransformation">
<rdfs:label xml:lang="en">has indexing transformation/rdfs:label
<rdfs:domain rdf:resource="http://fcrepo.info/definitions/v4/repository#Container"/>
I hadn't thought of the config ontology as an SPI, but I do see indexing
as a common repository sidecar, and think it makes sense to encourage
implementations to be interoperable. I agree that indexing is a separate
concern from the repository, and another implementation might have no need
these entities, or for indexing at all. But if they do, then they should
use the same mechanism for configuring it, and be interoperable with other
Fedora components. For example, if the community supports fcrepo-camel, but
UCSD decides to maintain fcrepo-message-consumer instead, they should use
the same entities to configure which objects should be indexed, and how.—
Reply to this email directly or view it on GitHub
https://github.com/fcrepo4/ontology/pull/13/files#r23234040.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ajs6f what would you think of a proposal to publish an indexing# ontology in the fedora.info domain?
Or do you see that as being the responsibility of repository implementations?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think that's a fine idea. (Although I'm honestly not too clear on the
differences between fcrepo.org, fedora.info, etc.) And if we were to do
that, it would make a lot of sense for the "source" for that published
ontology to be managed here, in its own repo, and paralleled by some
documentation on the wiki explaining what an indexing component should do
to respect the use of that ontology.
On Tue, Jan 20, 2015 at 4:10 PM, Aaron Coburn notifications@github.com
wrote:
In config.rdf
#13 (diff):+
+
+<rdf:RDF
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
- <owl:Ontology rdf:about="http://fedora.info/definitions/v4/config#">
<rdfs:label xml:lang="en">Fedora Commons Configuration Ontology/rdfs:label
<rdfs:comment xml:lang="en">Ontology for user-defined configuration properties and classes on Fedora-curated resources./rdfs:comment
- /owl:Ontology
- <owl:DatatypeProperty rdf:about="http://fedora.info/definitions/v4/config#hasIndexingTransformation">
<rdfs:label xml:lang="en">has indexing transformation/rdfs:label
<rdfs:domain rdf:resource="http://fcrepo.info/definitions/v4/repository#Container"/>
@ajs6f https://github.com/ajs6f what would you think of a proposal to
publish an indexing# ontology in the fedora.info domain?Or do you see that as being the responsibility of repository
implementations?—
Reply to this email directly or view it on GitHub
https://github.com/fcrepo4/ontology/pull/13/files#r23256067.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ajs6f when you write "in its own repo", do you mean separately from the fcrepo4/ontology github repository?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good point-- I was mixing up the various levels of hierarchy available in Git/GitHub. I suppose I mean that we could either:
- Subdivide this repository with folders for "repository ontologies", "indexing ontologies", etc. This would have to evolve as the ontologies evolve with the HTTP API specs.
- Start a new "indexing SPI" repository and put the indexing ontology there. This is probably better, because there might be additional resources for that SPI, beyond the ontology.
As discussed in the 1-22-15 tech call, this will be implemented in an indexing# namespace, not a config# namespace. |
👍 looks good to me |
I'm not seeing anything here that we couldn't do with RDFS. Is there some reason to use OWL instead? |
|
||
<owl:Ontology rdf:about="http://fedora.info/definitions/v4/indexing#"> | ||
<rdfs:label xml:lang="en">Fedora Commons Indexing Ontology</rdfs:label> | ||
<rdfs:comment xml:lang="en">Ontology for user-defined indexing properties and classes on Fedora-curated resources.</rdfs:comment> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We might want to use other language than "user-defined", because that's a little ambiguous here. Maybe just something like "Ontology for indexing configuration in Fedora repositories"?.
@ajs6f RDFS would also work for this -- I used OWL just out of habit. |
Let's do RDFS, on the principle of "least power". |
@@ -47,6 +45,20 @@ | |||
<transformationSet> | |||
<dir>.</dir> | |||
<includes> | |||
<include>indexing.rdf</include> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This section depends on an rdfs2html.xsl
file, which was not included in the commit. Should I revert that change or simply include the XSLT from @escowles ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@acoburn Go ahead and include that file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@escowles Thanks so much!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@acoburn, I am not yet seeing the rdfs2html.xsl
file. Have you yet to commit it or am I missing something?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't added it yet. It will come with the next commit -- it needed a bit of modification to work with rdf:Property and rdfs:Class
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@awoods -- the file is there now.
…s; adjusted XSL templates for proper HTML output
OK. Let's try this again. I've added an RDFS implementation of the
should work properly. |
<xsl:value-of select="substring-after(@rdf:about,$about)"/> | ||
</xsl:variable> | ||
<xsl:if test="$id != ''"> | ||
<h3 id="{$id}"><xsl:value-of select="$id"/></h3> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
actually, this should be <h4>
in order to match the owl2html
formatting
Great. Is everyone happy? Are all comments addressed? |
I think we're in good shape to move forward. Next week, I'll find something else about which to complain endlessly. |
It would be worrisome if you didn't. |
Resolved with: d13033b |
https://jira.duraspace.org/browse/FCREPO-1285
This is a straw-man implementation of a http://fedora.info/definitions/v4/config# namespace
Comments welcome!