-
Notifications
You must be signed in to change notification settings - Fork 90
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
Consider schema:domainsInclude and schema:rangesInclude #274
Comments
I will have to look at this pull request for LODE: essepuntato/LODE#13 where @VladimirAlexiev has addressed in LODE. However, since I added additional metadata to LODE, I will have to manually incorporate the changes. |
Hi David, great work on the integration and the wizard! |
Please also consider essepuntato/LODE#15 |
@VladimirAlexiev thanks, I will check it out! Some of these I already had added :) |
Suggested tests:
|
@VladimirAlexiev,
|
@dgarijo great! Can you put the tests in this repo, so I can take a more detailed look?
And forgets that they are properties? I use the following makefile (it uses Saxon and my patched version of
|
Re 2: search for <xsl:template match="owl:ObjectProperty | owl:DatatypeProperty | owl:AnnotationProperty">
<div id="{generate-id()}" class="entity">
<xsl:call-template name="get.entity.name">
<xsl:with-param name="toc" select="if (self::owl:ObjectProperty) then 'objectproperties' else if (self::owl:AnnotationProperty) then 'annotationproperties' else 'dataproperties'" tunnel="yes" as="xs:string" />
...
<xsl:variable name="hasAssertions" select="some $el in element() satisfies (some $prop in (/rdf:RDF/(owl:ObjectProperty|owl:DatatypeProperty)/(@*:about|@*:ID)) satisfies $prop = concat(namespace-uri($el),local-name($el)))" as="xs:boolean" />
...
<xsl:if test="some $prop in (/rdf:RDF/(owl:ObjectProperty|owl:DatatypeProperty)/(@*:about|@*:ID)) satisfies $prop = $currentURI">
...
<xsl:variable name="properties" as="attribute()*" select="/rdf:RDF/(owl:ObjectProperty|owl:DatatypeProperty|owl:AnnotationProperty)[some $res in
...
<xsl:variable name="properties" as="attribute()*" select="/rdf:RDF/(owl:ObjectProperty|owl:DatatypeProperty|owl:AnnotationProperty)[some $res in (rdfs:range|schema:rangeIncludes)/(@*:resource|(owl:Class|rdfs:Class)/@*:about) satisfies $res = $about]/(@*:about|@*:ID)" />
...
<xsl:for-each select="rdfs:subPropertyOf/(@*:resource|(rdf:Property|owl:ObjectProperty|owl:DatatypeProperty|owl:AnnotationProperty)/@*:about)">
...
<xsl:variable name="sub-properties" as="attribute()*" select="/rdf:RDF/(if ($type = 'property') then owl:DatatypeProperty | owl:ObjectProperty else owl:AnnotationProperty)[some $res in rdfs:subPropertyOf/(@*:resource|(owl:Class|rdfs:Class)/@*:about) satisfies $res = $about]/(@*:about|@*:ID)" />
...
<xsl:if test="exists(//owl:ObjectProperty/element())">
<li><a href="#objectproperties"><xsl:value-of select="f:getDescriptionLabel('objectproperties')" /></a></li>
</xsl:if>
<xsl:if test="exists(//owl:DatatypeProperty/element())">
<li><a href="#dataproperties"><xsl:value-of select="f:getDescriptionLabel('dataproperties')" /></a></li>
</xsl:if>
...
<xsl:template name="get.objectproperties">
<xsl:if test="exists(//owl:ObjectProperty/element())">
...
<xsl:template name="get.objectproperties.toc">
<ul class="hlist">
<xsl:apply-templates select="/rdf:RDF/owl:ObjectProperty[exists(element())]" mode="toc">
...
<xsl:when test="($type = '' or $type = 'property') and $el[self::owl:ObjectProperty]">
<sup title="{f:getDescriptionLabel('objectproperty')}" class="type-op">op</sup>
</xsl:when>
<xsl:when test="($type = '' or $type = 'property') and $el[self::owl:DatatypeProperty]">
<sup title="{f:getDescriptionLabel('dataproperty')}" class="type-dp">dp</sup>
</xsl:when>
...
<xsl:value-of select="exists($rdf/(owl:ObjectProperty|owl:DatatypeProperty|owl:AnnotationProperty)[some $res in (rdfs:range|schema:rangeIncludes)/(@*:resource|(owl:Class|rdfs:Class)/@*:about) satisfies $res = $el/(@*:about|@*:ID)])" />
...
<xsl:value-of select="exists($rdf/(owl:ObjectProperty|owl:DatatypeProperty|owl:AnnotationProperty)[some $res in (rdfs:domain|schema:domainIncludes)/(@*:resource|(owl:Class|rdfs:Class)/@*:about) satisfies $res = $el/(@*:about|@*:ID)])" />
Unfortunately, for Schema it's not so easy to dispatch the props into 'objectproperties' vs 'dataproperties'. Options:
I think option 2 is the best since 1 will require schema-specific hardcoding, wheres 3 is misleading |
Hi @VladimirAlexiev, I am pushing to the develop branch, so please use the extraction.xsl file from there. Based on your second comment, I think you may not have seen it. I edited the rdf:Property in each of the 17 locations where objectProperty appears, but it still doesn't add them as an objectProperty. In my case, I was assuming that all rdf:Property would have the same behavior as ObjectProperty, but you are right, they can be both datatype properties and object properties. I am going to remove my edits to the file and keep the support only for owl:objectProperty and owl:datatypeProperty. Going for option 2 would be ideal, but I will leave it for the future. |
65f9433 is the commit that had my rdf:Property additions in case you are interested. |
When producing documentations
Issue requested by Vladimir Alexiev (@VladimirAlexiev)
The text was updated successfully, but these errors were encountered: