Search Mailing List Archives
[protege-owl] Ontology at w3c-validator == valid but at protege 3.4 == invalid?
milo at informatik.uni-kiel.de
Fri Oct 31 03:03:27 PDT 2008
Thomas Russ schrieb:
> On Oct 30, 2008, at 9:06 AM, Michael Lodemann wrote:
>> I stucked because of the open world assumption. As a newbie I am not
>> able to model the situation correctly in order to fulfill my
>> Thomas Russ and others gave me a lot of good hints like this one:
>>>> The Road1 individual is defined to have as an additional type the
>>>> anonymous class defined by the restriction that all of the values
>>>> the belongsTo property come from the enumerated set [of
>>>> corresponding roadSections].
>> Unfortunately I wasn't able to implement the hints correctly. The
>> most promising approach is the following:
>> <Road rdf:ID="r1">
>> <road_length rdf:datatype="http://www.w3.org/2001/
>> <owl:oneOf rdf:parseType="Collection">
>> <rdf:Description rdf:about="#rs11"/>
>> <rdf:Description rdf:about="#rs12"/>
>> </owl:Class> </rdf:type>
>> It seems to be a valid construct, because the w3c-RDF-validator (http://www.w3.org/RDF/Validator/
>> ) says so.
>> But opening the file in protege 3.4 Build 506 I receive an error
>> message (attached) ... sth. like "Restriction not unique".
>> Can anyone help me to resolve this issue?
> I think you need to add the onProperty item as well.
> The official OWL/RDF specification is extremely flexible. So
> flexible, in fact, that you can create extremely distributed
> descriptions. So, for example, it is possible to define a Restriction
> in one place, add the allValuesFrom restriction somewhere else, and
> then add onProperty in a third place. But that makes it really hard
> to actually implement a system that works with it.
> So, try adding owl:onProperty for your belongsTo property.
Thanks again, Thomas, this was very helpful. But I have to add the
owl:onProperty to "hasSections" (Domain:Road Road:RoadSections) the
inverse functional property of "belongsTo", right?
And I'm not really sure about the value of this whole construct.
How can I use it to reach my goal of being able to compare the
road-length with the sum of the roadSections-length?
How is it possible to use the above construct in an swrl rule? How can I
access these anonymous classes in swrl? Do I have to?
And I'm worried about proteges behaviour: When I load the project with
the construct above I don't receive errors, but the construct doesn't
appear nowhere in the user-interface. Neigther in the individuals-tab
nor somwhere else. And when I look at the code (Code -> Show RDF/XML
source code...) the construct isn't in there at all - not in the whole
codefile. Does protege apply sth. like optimization or rationalization
while loading a project?
The whole snippet above is transformed to:
And the relation road-roadSection appears in the specific roadSection:
Sorry for this pile of questions. I appreciate your answers.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 384 bytes
Desc: not available
More information about the protege-owl