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 07:00:40 PDT 2008
>> 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:
> <Road rdf:ID="r1">
> <road_length rdf:datatype="&xsd;int">20</j.0:road_length>
> And the relation road-roadSection appears in the specific roadSection:
> <RoadSection rdf:ID="rs11">
> <to rdf:datatype="&xsd;int">15</j.0:to>
> <from rdf:datatype="&xsd;int">5</j.0:from>
> <belongsTo rdf:resource="#r1"/>
> Sorry for this pile of questions. I appreciate your answers.
> best regards,
Ok, I got so far that I'm able to compute a table as a query result with
collums: "Road", "Road_length", "Sum_of_all_Section_lengths_of_Road"
with the following rule/query:
hasRoadSection(?road, ?roadSection) ∧
to(?roadSection, ?tokm) ∧
from(?roadSection, ?fromkm) ∧
swrlb:subtract(?roadSectionLength, ?toKm, ?fromKm) ∧
→ sqwrl:select(?road) ∧
Now I'm able to compare the Road_length and
Corresponding to this comparison the dot on the i will be to infer the
Roads to types of "CorrectRoad" and "IncorrectRoad" respectively. Any
hint how to approach on this?
Is it possible to integrate this in the rule/query above? Can I use the
result of the query above in another query/rule? Is there sth. like
subqueries? Other suggestions?
thanks for allowing me to ask such un-genereal, specific questions.
More information about the protege-owl